Myslim, ze uvedeny priklad je zavadzajuci. Akukolvek vec mozno pouzit nespravnym sposobom.
Este raz, chcel som povedat: Pokial je premenna nejakeho typu, hned viem ake metody mozem volat. V dynamickom jazyku neviem vobec nic - vsetko zavisi od toho, aka konkretna instancia je prave v premennej obsiahnuta. Ked autor kodu priraduje premmenej typ - tym vlastne definuje obmedzenie - ze pre tu premmenu bude mozne pouzit iba obmedzeny subor operacii. A tym pomaha citatelovi chapat kontext a zamer pouzitia. A to bude platit aj napriek tomu, ak autor kodu pouzije nespravne nazvy premennych. Az raz zistim, na co sa pouziva Clovek.a tak to uz budem vediet a bude mi to jasne na vsetkych miestach kde je Clovek.a pouzite. Pripadne mozem pouzit refaktoring a danu metodu/premennu premenovat. Stm. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Oto 'tapik' Buchta Sent: Thursday, March 02, 2006 2:12 PM To: Java Subject: Re: JAVA TIP: Retroweawer + uvaha o static/dynamic typed languages ... On Thursday 02 of March 2006 13:09, Mores, Stanislav wrote: > Basnickou recou povedane - o, aky priepastny rozdiel v mnozstve > poskytnutej informacie: > > var zoznamLudi; > > List<Clovek> zoznamLudi; Ano, pravda. Coz ovsem v pridape tridy public class Clovek { int a; int b; double max; String s; } zas takova vyhra neni ;-) tim jsem chtel naznacit jednu vec: tento priklad je chybny. Proc? Prtoze onen kontrakt je dan jednou jedinou veci: korelaci nazvu tridy a nazvu promenne. bude_li se promenna jmenovat lide_listTridyClovek, vyhoda v citelnosti je pryc. Pak zustava pouze vyhoda silneho typovani na strane jedne oproti volnosti v dynamicky typovanych jazycich. Ze svych bohatych zkusenosti mohu potvrdit, ze se neda rict, ze by jedno ci druhe bylo vzdy a vsude lepsi. Proste byly chvile, kdy mi silne typovani zachrani kuzi pri ladeni, a byly chvile, kdy jsem nadaval, ze bez pomale reflection (nastesti uz ji Sunove dramaticky zrychlili) to proste neslo. Byly chvile, kdy jsem chvalil PERL za jeho netypovost, ale na druhe strane jsem se jednou diky tomu dostal do pekne slamastyky a tyden jsem hledal jeden pitomy preklep, ktery by javac odhalil hned :-( Jenom na zaver drobny pohled do kristalove koule: silne typovani Javy odezni a bude nahrazeno runtime silnym typovanim. Duvod? Kompletni prechod datove vymeny na XML. 90% vsech vypoctu se prenese na gridove pipelinove zpracovani XML zprav. A cas nutny k serializaci/deserializaci pro praci v Jave bude nahrazen za trivialni zmeny XMLcek psanych jak v XSLT a XQuery, tak v nejakem novem XML programovacim jazyku. Svuj LISP uz XML ma (XSLT), ma svuj PERL (XQuery), ted se ceka na tu Javu... -- Oto 'tapik' Buchta, [EMAIL PROTECTED] http://www.buchtovi.cz
