tag:blogger.com,1999:blog-3058726084145190258.post5274185335014826316..comments2023-03-02T09:18:00.483+01:00Comments on Daniel Kolman: GOTO 2013 Amsterdam - Erik MeijerDaniel Kolmanhttp://www.blogger.com/profile/12541334749939254340noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-3058726084145190258.post-86774695832534375892013-11-28T09:23:30.910+01:002013-11-28T09:23:30.910+01:00Nenapsal jsem < jako HTML entitu... :) Takze ta...Nenapsal jsem < jako HTML entitu... :) Takze tam melo byt "explicitne typovany List<String> uz do metody prijimajici List<Integer> neposles"<br /><br />@ales viz odpoved Danovi... u generik je par dalsich podivnych pripadu, jako zpraseny polymorfismus (z principu erasure) apod. Ale dynamicke bych tomu nerikal a falesny je taky silne slov :) Dynamicke je neco, co na kompilacni kontrolu rezignuje uplne. Tady ji je IMHO porad docela dost.Daniel Kvasnička jr.https://www.blogger.com/profile/02081859315126022467noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-87905608422742267962013-11-28T09:06:58.543+01:002013-11-28T09:06:58.543+01:00Tenhle pripad jsem si pro jistotu overoval, nez js...Tenhle pripad jsem si pro jistotu overoval, nez jsem komentar napsal ;) Takze souhlas - tady to chovani je nekonzistentni. Ale urcite je docela silne rici "nez pouzijes kolekce"... mozna nez pouzijes generika by se rict dalo, ale ani tam to neni stoprocentni, protoze explicitne typovany List uz do metody prijimajici List neposles a tim myslim jako ze se to uz ani nezkompiluje. A i v tvem pripade - kdyz uz nic jineho - to alespon padne jeste nez vubec dojde k vyjmuti prvku z kolekce, takze i tak svym zpusobem generika zaberou...<br />Takze i kdyz jsou generika v jave celkem doprasena, uplne se tam na statickou kontrolu nerezignuje. Filosofie asi byla, ze kdyz ten typ neparametrizujes, tak ti to asi nerve zily...<br /><br />Co mi na Jave vadi vic, jak uz jsi sam nakousnul, je velmi slaba inference. Je srandovni lidem ukazat Scalu a pak slyset: "Coze?! To je staticky jazyk? Ciwe, dyt tady je val x = 3!" :)Daniel Kvasnička jr.https://www.blogger.com/profile/02081859315126022467noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-39516866196976736882013-11-28T06:34:22.082+01:002013-11-28T06:34:22.082+01:00Java je staticky typovaná, než použiješ kolekce. T...Java je staticky typovaná, než použiješ kolekce. Tohle by ve striktně staticky typovaném jazyce neprošlo (v Javě to spadne až na runtime error):<br /><br />@Test<br />public void computesSumOfStrings(){<br /> List list = createStrings();<br /> computeSum(list);<br />}<br /><br />private List<String> createStrings() {<br /> List<String> strings = new ArrayList<String>();<br /> strings.add("Ha");<br /> return strings;<br />}<br /><br />private int computeSum(List<Integer> list) {<br /> int sum = 0;<br /> for (Integer i : list) {<br /> sum += i;<br /> }<br /> return sum;<br />}<br /><br />Tím nechci říct, že jsou dynamické jazyky špatné. Spíš nechápu tu nadřazenost, kterou občas dávaj Javisti najevo vzhledem k dynamickým jazykům.Daniel Kolmanhttps://www.blogger.com/profile/12541334749939254340noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-88903853105845324682013-11-28T04:09:56.674+01:002013-11-28T04:09:56.674+01:00@dkl super, jen malá poznámka Rx je taky LINQ (to ...@dkl super, jen malá poznámka Rx je taky LINQ (to Events), co je duální je Enumerable (kolekce rozložená v prostoru) a Observable (kolekce rozložená v čase) a díky tomu šlo LINQ posadit i nad události. :)<br /><br />@dkv Java je dynamická díky svému přístupu k silným typům (erasure generics), kdy u kolekcí jde pouze o falešný pocit bezpečí a sucha. Aleš Roubíčekhttps://www.blogger.com/profile/16672174232596806675noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-51170299739677262752013-11-28T00:22:29.541+01:002013-11-28T00:22:29.541+01:00Narazku na "dynamicnost" Javy jsem zachy...Narazku na "dynamicnost" Javy jsem zachytil uz v CZPodcastu :) Muzes to rozvest? (konkretni priklad?)<br /><br />Co se tyka Haskellu, tak je fajn nez zacne cloveka stvat zbytecnostmi typu explicitni konverze cisel (typicka accidental complexity, i kdyz cool Haskell hipsteri by mi urcite vysvetlili, jak je to smrtelne nutne a jak vsechno ostatni je podradne a neciste...). Syntaxe patri mezi citelnejsi, ale na druhou stranu fakt, ze v tom jazyku existuje symbol '$' povazuju za ukazkovy "syntax smell"... proste neni nad "asyntaktickou nirvanu" lispovych jazyku, no ;-PDaniel Kvasnička jr.https://www.blogger.com/profile/02081859315126022467noreply@blogger.com