"Ať se to někomu nemusí líbit, ať tak či onak, vždycky vyhrává ten nejlepší. Vždycky. Nemusí se jednat o nejvyspělejší řešení, ale vždy je to řešení, které dokázalo nabídnout nebo vnutit něco víc. V tomto případě si nemyslím, že vítězem bude Java."
Presne. Vitezem uz BYLA Java.
"Je to jazyk vytvořený pro aktuální potřeby trhu, což s sebou přináší kompromisy, které ji sice pomáhají prodat, ale z dlouhodobého hlediska předznamenávají neodvratný konec v propadlišti dějin."
Jake jsou aktualni potreby trhu a jak se projevily na navrhu Javy? Neodvratny konec v propadlisti dejin ceka drive ci pozdeji vsechno.
"Už když dělala první krůčky, vyvolávala otázky, zda vůbec chceme a potřebujeme další jazyk založený na C++."
Jak se Smalltalkari divaji napriklad na C? Pokud vas pri programovani ve Smalltalku rusi nejaky opakujici se zvuk, tak to vam nejspis na okno klepe realita.
"Otázkou je, jestli je rozumné stavět informační systémy a náročná enterprise řešení na něčem, co vzniklo pro naprosto jiné účely. Jenom proto, že se mateřská firma rozhodla dobýt další segment trhu?"
Nechapu, o co tu jde. V Jave takove systemy udelat jdou a je jich pomerne hodne. V cem je tedy problem?
"Javě se nepodařilo obsadit oblast desktopových aplikací a nástup platformy .Net pro ni znamenal tvrdou ránu, ze které se pravděpodobně nikdy nevzpamatuje."
Jsem rad, ze to nekdo konecne dokazal autoritativne rozhodnout. Uz tedy nemusi probihat sahodlouhe diskuse na slashdotu ani ve vedeni prislusnych firem.
"Ani v oblasti svobodného softwaru, kde je vítána její avizovaná platformní nezávislost, se nakonec nesetkala s bouřlivým nadšením."
Proc "avizovana"? Co znamena, ze se nesetkala s bourlivym nadsenim?
"Studie tvrdící, že systémy založené na J2EE v průměru jeden den v týdnu nefungují, moc velké ovace také nevyvolávají."
To uz je vtip, ne? Deset odstavcu na internetnews.com odsuzuje platformu J2EE do srotu? Mozna tak kdyby byla k disposici cela ta studie, ale to by ji nesmela ta firma presentovat (cti prodavat) v serii seminaru po Severni Americe. Nebo jsem se prehledl a cely text te avizovane studie nekde visi?
"Nesporně zajímavým fenoménem je averze velké části smalltalkovské komunity k některým jiným jazykům a k Javě především."
To tedy rozhodne. Fasismus zastancu Smalltalku mi docela bere dech a zvlast ve vyse uvedene "argumenty" typu "Java to ma za sebou, myslete na budoucnost" mi pripominaji nejakou sektu.
Nemam vubec nic proti Smalltalku, ale nechapu, proc maji jeho zastanci tak nutkavou potrebu kopat do ostatnich jazyku. Snad abychom si pockali, kdy uz se konecne Smalltalk dozije te tak dlouho predpovidane zarne budoucnosti, za kolik let ze se to povedlo Jave? No ale za tim byl stejne jen hype velkych firem a utok na aktualni potreby trhu. Prichod opravdoveho digitalniho mesiase bude muset jeste nejakou dobu pockat.
T.
Jo, tech par poslednich odstavcu byl opravdu zacatek flamewar, to se jinak nazvat neda.
Java byla navrzena s uplne jinym cilem nez Smalltalk a v mnoha zasadnich koncepcich se naprosto lisi. Jednou z tech koncepci jsou prave ony kompromisy. Oba jazyky tak tezko lze porovnavat, stejne jako lze tezko porovnavat Javu vs C nebo COBOL vs FORTH.
Opravdovy "rival" smalltalku je LISP (obzvlaste pak Common LISP, ale on staci i obycejny). S _nim_ by mel autor porovnavat, bylo by to mnohem zajimavejsi :-)
Ten posledni odstavec totiz velmi dobre odrazi nazor hardcore LISParu na Smalltalk - jen provedte s/Smalltalk/LISP/ a s/Java/Smalltalk/
Java oproti čistším objektovým jazykům používá nižší míru abstrakce, což je pochopitelné vzhledem k tomu, že byla vytvořena s ohledem na nasazení v oblasti mobilních zařízení a Internetu, ale např. pro tvorbu IS to bývá spíše na škodu.
Zvolená syntaxe je zcela jistě motivována snahou o její snadnější přijetí trhem a to, jak vypadá C# to jen dokazuje. Už při přechodu z C++ na Javu nebo C# je nutné udělat značný skok směrem k objektovému myšlení. Bohužel na to programátora nic neupozorní, což v důsledku často vede k špatnému používání těchto jazyků.
Pokud vím, tak se na C Smalltalkeři dívají jako na přenositelný assembler. C bezesporu má svoje pevné místo a jen tak nic s ním nepohne. Výtky na Javu v době jejího nástupu byly směřovány na její zbytečnou komplikovanost (a pokud se pamatuji, tak nezaznívaly zdaleka jen z řad Smalltalkerů). Viz citát v článku. Nemá dostatečné předpoklady k tomu, aby oslovila zástupy vývojářů odchovaných Basicem, Pascalem apod.
Na desktopových aplikacích na Windows má Java svoje dny už sečteny. Pro vývojáře, který se nemusí ohlížet na platformní nezávislost je, .Net Studio výrazně lepším řešením a s nástupem Longhornu, kdy .Net Framework zastřeší prakticky celé stávající API, se to ještě umocní. Ve světě Unixů, který se často velmi konzervativně drží C, vývojáři raději sáhnou po C++.
Java by byla ve světě svobodného softwaru rozhodně vnímána přijatelněji, kdyby byla otevřenější, což se, jak se zdá, v dohledné době nestane.
S argumentem 24*6*365 jsem se setkal při zdůvodňování, proč při jednom poměrně náročném nasazení nebyla Java využita (nebylo to ve prospěch Smalltalku). Nemyslím si, že by situace byla rozhodně tak špatná, ale...
Chápu, že v Javě úspěšně programujete a jste s ní relativně spokojen. Chtě nechtě to ale vede k tomu, že se s ní všude setkáváte častěji, než ostatní a větší odstup by jistě nebyl naškodu.
k tomu 365*6*24
setkal jsem se v jedne firme s navrhari J2EE systemu. jenze oni vubec nechapali objektove programovani, thread-safe nethread-safe, patlali to do sebe, ono to nejak pojede.
vysledek samozrejme byl takovy jaky byl. pak to nejak doprasili a divim se, ze jim to jede i tech 6 dni
co by takovehle tymy delali se smalltalkem nebo c++, to si ani nedokazu predstavit
takze jestli ten duvod "nefunkcnosti" javy neni nahodou v tomhle
:-) Jasne, v jave dela kde kdo, je to klasika.
Asi nema cenu se k tomu vyjadrovat, ja si uz "svuj"
jazyk vybral :-)
Vzdycky me ale prekvapuje jedna vec, a to se netyka
jen Smalltalku vs Javy apod.
Totiz ze ty "stare veci" jsou prekvapive dost
promyslene. Ze Smalltalk se dost pouziva i na
slozite a mission critical veci (stejne jako Java, C++ a jine jazyky) je myslim neoddiskutovatelne.
Zajimave ale je, ze Smalltalk jako jazyk se od 1980
vlastne nezmenil. Java se meni kazdou chvili - viz zde na rootu avizovana Java 1.5 a jeji templates ala C++. Stava se komplikovanejsi - Smalltalk za temer 25 let sve existence tu potrebu nemel.
Ze by byl lepe navrzen? Mozna...
k LISPU - o Common LISPu a CLOSu jsem hodne slysel,
co jsem s tim delal, tak schopnosti to ma mozna vetsi - chybi mi tam browser apod, ale jinak se
tam da kouzlit uplne stejne, mozna lepe.
Je tu nejaky zaprisahly LISPer, ktery by se k tomu vyjadril?
:-) Jasne, v jave dela kde kdo, je to klasika.
Asi nema cenu se k tomu vyjadrovat, ja si uz "svuj"
jazyk vybral :-)
Vzdycky me ale prekvapuje jedna vec, a to se netyka
jen Smalltalku vs Javy apod.
Totiz ze ty "stare veci" jsou prekvapive dost
promyslene. Ze Smalltalk se dost pouziva i na
slozite a mission critical veci (stejne jako Java, C++ a jine jazyky) je myslim neoddiskutovatelne.
Zajimave ale je, ze Smalltalk jako jazyk se od 1980
vlastne nezmenil. Java se meni kazdou chvili - viz zde na rootu avizovana Java 1.5 a jeji templates ala C++. Stava se komplikovanejsi - Smalltalk za temer 25 let sve existence tu potrebu nemel.
Ze by byl lepe navrzen? Mozna...
k LISPU - o Common LISPu a CLOSu jsem hodne slysel,
co jsem s tim delal, tak schopnosti to ma mozna vetsi - chybi mi tam browser apod, ale jinak se
tam da kouzlit uplne stejne, mozna lepe.
Je tu nejaky zaprisahly LISPer, ktery by se k tomu vyjadril?
Predem bych rad uvedl, ze jsem delal v C, Common LISPu (pravda, ne prilis seriozne), Objective C (OpenSTEP) a nyni delam v Jave. Z C++ jsem radeji utekl (pravda je ze jeste pred ANSI C++, ale zkouset navrat se mi moc nechce).
Ve smalltalku jsem nedelal, ale nevylucuji ze budu - to je ovsem ovlivneno necim uplne jinym nez peknym vzhledem jazyka ci kazanim nadsencu.
LISP se v podstate nezmenil 40 let :-) Pravda, Common LISP pridava syntakticky odlisne veci jako pole, nicmene jelikoz LISP je svazan s interpretrem, lze cely CommonLISP udelat primo v normalnim LISPu.
Na CLOSu je mimo jine velice zajimavy vicenasobny polymorfismus, tedy ze konkretni "metoda" nepatri jedne tride, ale zvoli se podle typu vice parametru.
Jeste bych chtel reagovat na zmeny v Jave: zmeny v 1.5 jsou prvni zasadnejsi zmeny v jazyce. Generics nejsou sablony, ucelem je jen a pouze zajisteni typove kontroly kompilatore - tedy neco co samozrejme do Smalltalku apod. vubec nepatri, ale co naopak patri do Javy a dalsich. Zda to potrebujete nebo ne si musi rozhodnout kazdy sam.