[Javalist] tifyty szerda
Gábor Garami
gabor.garami at hron.me
2012. Dec. 5., Sze, 13:20:43 CET
Szerintem az extension methods nem az ordogtol valo, ha okosan bannak
vele. A Ruby nyelv peldaul kezdettol fogva epit erre a paradigmara, es
a kialakult okologiaban is rengetegszer epitenek erre. Hol ugy, hogy
egy modullal ki tudod boviteni az osztalyt, hol magat az osztalyt
patchelik meg ilyen metodusokkal (monkeypatch, csunya megoldasnak
szamit amugy). Erto kezekben ertelmesen hasznalhato, nagyon sokszor
segiti a munkat, vagy csak kevesebb kodot kell gyartani vele.
Ugyanakkor lehet rossz celra is hasznalni, de hat gyakorlatilag
mindent lehet. A Java is megengedi peldaul, hogy reflectionnel
belenyulkalj olyan cuccokba, melyeket amugy nem surun piszkalhatnal,
hogy olyan utakon jarj, melyen epeszu ember augy nem jar. Es megis
forog a fold, akarom mondani megis benne van a nyelvben, a
futtatokornyezetben.
Ezzel nem azt akarom mondani, hogy a Java ettol rosszabb, hanem hogy a
normalis programozok nem csak attol normalisak, mert nem ugy
programoznak, mint egy junky koder, hanem attol is, hogy ismerik a
lehetosegeket - es ismerik, vagy kepesek felismerni, hogy mit hol
erdemes alkalmazni. Nekem peldaul a monkeypatching nem egyszer
segitett abban, hogy egy egyszeru kis bug miatt ne alljon a fel
projekt, illetve ne kelljen magamnak forkolni + menedzselni az illeto
projektet, csak azert, mert ket sor nem tetszett benne. De ez egy
sarkos pelda, nagyon sokszor olyan egyszeru dolgokrol van szo,
minthogy pl. van egy projekt, ami ad egyfajta mukodesi
"keretrendszert" (nem igazan frameworkot, inkabb konvenciokat), es van
egy masik cucc, ami ugyan nem koveti ezeket a konvenciokat, de
gyakorlatilag ez ket metodussal megoldhato. Viszont ha elkezdek az
oroklessel okorkodni, akkor hirtelen nagyon sok munkaval talalom
szembe magamat, viszont ha csak implementalom a ket szukseges metodust
az eredeti osztalyon, akkor hirtelen maris van egy, a konvenciok koze
illeszkedo objektumom, amit ugy tudok kezelni, mintha eredetileg is
kovette volna az illeto konvenciokat.
Ugyanakkor peldaul a Rubynal is letezik a privat/protected metodusok
intezmenye, plusz az extension metodusok hasznalata is bizonyos
szinten korlatok koze van szoritva, mindent nem lehet veluk megtenni.
De ha valaki konkretan tokon szeretne loni magat, az ugyis meg fogja
talalni a modjat az ontokonlovesnek. A kerdes az, hogy tenyleg meg
akarjuk-e a programozokat vedeni az ontokonlovestol, vagy inkabb
hagyjuk oket szenvedni, mert ebbol is tanulnak? Es ez az, amire a Ruby
es a Java mas-mas valaszokat ad.
Garami Gábor
E-mail: gabor.garami at hron.me
Tel: +36 20 235 9621
MSN: hrgy at vipmail.hu
Skype: hron84
2012/12/5 Peter Verhas <peter at verhas.com>:
> Ezen ah éten megint egy könnyedebb (vagy éppen nehezebb?) téma. Mindenesetre
> csak szöveg, semmi kód és semmi dekód. Ha a plastic.hu is belinkeli megint
> háromszoros lesz az olvasottság. (Olvassatok Plastik-ot! Is!)
>
>
> http://tifyty.wordpress.com/2012/12/05/programozasi-marhanyelv-pacban-es-birkapasztorok/
>
> És kérek sok kommentet. Akár elhiszitek, akár nem: van amiről a kommentek
> hatására megváltozott a véleményem. Momentán pont a (kód) kommentekről.
>
> --
> Verhás Péter
> peter at verhas.com
> +36(30)9306805
> skype: verhas
>
>
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
További információk a(z) Javalist levelezőlistáról