Mores, Stanislav napsal(a):
Podle me neni problem udelat Adapter (design pattern) pro Enumeration. Pak by se dalo v pohode napsat for (Clovek clovek: new EnumToListAdapter<Clovek>(zoznamLudi)) { ... } Ale nevim, jestli to stoji za to ;-))) Tom Podle me je pravda nekde uprostred. At si rika kdo chce, co chce, nektere veci se opravdu v Grails daji udelat brutalne rychle. To proste s cistou javou nedate, ani kdybyste se rozkrajel (alespon ja zadny podobny pure java framework neznam).Inak pri tejto prilezitosti - drobna filozoficka uvaha: Na strankach http://www.theserverside.com v poslednej dobe casto vidno flamewar na temu Java versus RoR (Ruby on Rails resp. dynamic-typed languages). Az ma mrazi, ako nasa programatorska komunita znovu a znovu bludi v kruhu poznania a opat sa snazi prist na to, co uz medzi-casom stihla zabudnut. Mam teraz na mysli entuziastov, ktori si myslia ze dynamic-typed languages zazracne odstrania problemy, ktore mame pri vyvoji software. Mrknete se napr. na http://grails.codehaus.org/GORM (a porovnejte s XML soubory pro Hibernate, Hibernate 3 bohuzel jeste neznam), mrknete na http://grails.codehaus.org/Dynamic+Tag+Libraries a porovnejte s JSP tag libraries s JSP 2.0, atd. Zcela ciste rozdeleni na model-viewer-controller bez XML. To pro me byl po dlouholetych zkusenostech s Struts docela prijemny sok. Typy jsou dobre, ale Test Driven Development v kombinaci s Groovy zase tak spatny neni. Jen skoda ze neni rozumny plugin do Eclipse. Tom Zabudaju, ze staticke urcenie typu nesluzi len na to, aby ma kompiler vedel dopredu upozornit na par chybiciek. Ale staticke urcenie typu vyjadruje aj kontrakt - ked vidim akeho typu je objekt, viem co od neho mozem ocakavat. To je pre cloveka nesmierna pomoc, ked sa snazi pochopit cudzi kod (pripadne aj svoj vlastny - po dlhsom case :-) Basnickou recou povedane - o, aky priepastny rozdiel v mnozstve poskytnutej informacie: var zoznamLudi; List<Clovek> zoznamLudi; To je jeden z dovodov, preco som si oblubil generics - pretoze umoznuju upresnit kontrakt obecnych Collection tried . Inak, samozrejme mam rad aj dynamicke jazyky - tam kde je to namieste - napr. ako skriptovaci jazyk pre tvorbu templejtov HTML stranok. - Skripem zubami, ked musim pouzivat JSP. A pouzitie EL mi iba pridava na tantalovskych mukach (preco sa neda lahko zavolat metoda s parametrom - programoval vobec niekedy ten clovek co to navrhoval ?!) Este ze tu je napr. FreeMarker. Bolo by este mnoho co hovorit, napr o bariere komplexity a z toho vyplyvajucich obmedzeni ludskych moznosti pri vyvoji software (iba samotne JDK obsahuje viac ako 12000 tried - no studuj to ! a to nehovorim o vsetkych tych dalsich moznych knizniciach)... ...ale .... ...dobry obed mi zacina postupne travit, filozoficka nalada sa vytraca - a teda je cas vratit sa do pracovneho procesu.... Dufam, ze spravca tejto konferencie (ak nejaky je), nebude toto povazovat za spam a nevykopne me .... :-) Stm. |
- Re: JAVA TIP: Retroweawer + uvaha o static/dynamic type... Tomas Hubalek
- Re: JAVA TIP: Retroweawer + uvaha o static/dynamic... Ondra Nekola
- Re: JAVA TIP: Retroweawer + uvaha o static/dyn... Jaroslav Misura
- Re: JAVA TIP: Retroweawer + uvaha o static... Ondra Nekola
- Re: JAVA TIP: Retroweawer + uvaha o static... Tomas Hubalek
- Re: JAVA TIP: Retroweawer + uvaha o static... Oto 'tapik' Buchta
- Re: JAVA TIP: Retroweawer + uvaha o st... Jaroslav Misura
- Re: JAVA TIP: Retroweawer + uvaha o static/dyn... Tomas Hubalek
- Re: JAVA TIP: Retroweawer + uvaha o static/dynamic... Oto 'tapik' Buchta
- RE: JAVA TIP: Retroweawer + uvaha o static/dynamic... Mores, Stanislav
