je to super. jedna akademicka vec (petriho site), nadherne snadno odsimulovana jinou akademickou veci (smalltalk). je to genialne jednoduche a naprosto elegantni.
bohuzel muj mozek funguje asi jinak. smalltalk mi prijde jako rozsypany caj a byl jsem rad, kdyz jsem mel semestralku hotovou (neprejte si videt ty bezesne noci).
stejne mi to pripada, ze tohle jadro by se dalo udelat snadno v cemkoliv. ta spravna krize zacina az se vstupem dat a jejich prezentaci, s cimz vam smalltalk nepomuze, stejne to musite nejak nakreslit. a odkud kam ma vest ktera cara, to musite vymyslet vy a ta metoda bude mit jiste pres dva radky. tipnul bych jich tak 500 :)
to je rozdil praxe od skoly. ve skole staci takoveto jadro a vsichni jsou naprosto vysmahnuti z toho jak to funguje. ze se data vkladaji do zdrojaku a zkoumaji v inspectoru nikomu nevadi.
v praxi je to jinak - kdyz to nejde naklikat a boxiky nevypadaji jako ve WinXP, je to spatne, at je jadro elegantni jak chce. a v takoveto situaci je smalltalk v koncich.
> v praxi je to jinak - kdyz to nejde naklikat a
> boxiky nevypadaji jako ve WinXP, je to spatne,
> at je jadro elegantni jak chce. a v takoveto
> situaci je smalltalk v koncich.
To je absolutni nesmyl. Nevim, proc neni tolik
lidi schopno rozlisovat mezi Smalltalkem a jeho
implementaci Squeak. Squeak Vam box ani graf
pomoci vestavenych trid nenakresli, to je pravda,
nicmene jine implementace Smalltalku maji dosti
bohatou podporu pro kresleni boxu, grafu apod.
Squeak je myslim v tomto serialu pojiman jako
cesta k pochopeni Smalltalku a jako pripadny
kandidat na opensource alternativu komernich
implementaci Smalltalku. Tou by se stal prave
po doplneni potrebnych praktickych casti ohledne
gui apod.
Moc se mi ten příklad líbil. Rád bych ve ST programoval. Kdyby nebylo dvou věcí. Nemožnost vytvořit standardní gui a nutnosti tahat s sebou celý ST image (nebo ho pracně ořezávat). Ale možná je to v komerčních implementacích (Visual Age for ST?) lepší.
Takle si v něm udělám maximálně nějaké tic-tac-toe pro vlastní potřebu. Možná, že slušný kompromis by bylo ObjectiveC.
Jen bych rád doplnil Vaši úvahu o velikosti image:
Uvědomte si, že image je vlastně jakýsi framework se všemi knihovnami a teď si porovnejte velikost VM+IMAGE a např. framework .NETů nebo třeba Javy a pak uvidíme, kdo je vítězem. Asi namítnete, že Java stačí na každém počítači pouze jednou a aplikací kolik chcete, ale v praxi stejně většinou na každém počítači běží právě jeden informační systém, navíc v dnešní době 100GB disků to už není takový problém jako kdysi (snad jedině pokud byste takovou aplikaci měl stahovat po modemu).
Jak je to s jinými Smalltalky bych radši nechal odpovědět někoho zasvěcenějšího (co autore :-).
Co se GUI týče, tak pevně věřím, že nás autor přesvědčí v nějakém dalším článku, alespoň o částečném opaku. Navíc nutno zdůraznit, že právě v této oblasti se začíná vývoj Squeaku dost mohutně hýbat.
VisualAge for SmallTalk GUI pochopitelne umi, bez toho by byl opravdu nepouzitelny. Ty image se v praxi neorezavaji. Taky mne to nejprve vadilo, ale zvykl jsem si. Pri soucasnych kapacitach disku je orezevani zbytecna ztrata casu. Squekovska defaultni image ma okolo 10 MB, srovnejte to s velikosti prumerne komercni aplikace pod windows. V praxi (t.j. productivity nasazeni ST aplikaci) bezi na jednom PC ST aplikace v poctu jednotek kusu, takze nejakych par desitek MB na GB discich... ST se pouziva pro psani velkych aplikaci dost, rekl bych vice nez Java. Bude to i tim, ze kdyz prisla Java tak ti co meli aplikace v ST nevideli duvod k jejich prepisovani do Java/EJB. Aplikace ST napsane nejsou zpravidla aplikace toho typu ktere se announcuji na http://freshmeat.net/
Představte si následující situaci: Jste obrovská mezinárodní firma, řekněme třeba IBM. Potřebujete pro sebe vybudovat obrovský informační systém a rozhodujete se, na čem ho postavíte. Dnes máte na výběr tři alternativy, Javu, .Net a Smalltalk. Po čem z toho sáhnete? Hledáte dlouhodobé řešení. Nad Javou a .Netem drží kontrolu vaši největší konkurenti a můžete jen tušit, jak se svými platformami hodlají dále nakládat. Navíc víte, že např. Java vznikla za naprosto jiným účelem, než je budování IS a hlavní motivací jejích autorů bylo, že se nedokázali dohodnout na slušné ceně za licenci Smalltalku. Ať si vyberete cokoliv, víte, že to budete muset svým potřebám silně přizpůsobit. Která platforma je na to nejlépe uzpůsobena? Víte, že budete muset umět najít vývojáře za deset let i více a určitě nechcete, aby v té době byl váš systém postaven na něčem, v čem většina vývojářů odmítá pro archaičnost pracovat, když je k dispozici tak super jazyk, jako je třeba D#. Nebylo by rozumné sáhnout po něčem, co se používá už přes dvacet let jen s minimálními změnami a nikdo necítí potřebu na tom něco do budoucna měnit. Nebo raději sáhnete po něčem, o čem se jednou za čas někdo rozhodne, že by nebylo špatné do toho přidat třeba šablony, protože je to prima věc. Co si takhle koupit licenci Smalltalku a třeba si k němu udělat i vlastní VM? Smalltalk je z nich zdaleka nejotevřenější, což možná není nejvýhodnější pro další komerční distribuci, ale pro in-house řešení je to obrovské plus. Atd. atd. atd.
Teď si navíc představte, že v této situaci stojíte třeba v polovině devadesátých let. Nevím, jestli je tvrzení pana Koláře v současné době pravdivé, ale rozhodně jej za vtip nepovažuji.
Mozna by stalo za povsimnuti, ze IBM vyvinulo vlastni prekladac Javy, ma vlastni JVM, pochazi od nej alternativni GUI toolkit a cela vyvojova platforma.
Google vraci na dotaz "IBM smalltalk" necelych sto tisic stranek, na dotaz "IBM java" necele ctyri miliony.
Cili to vypada, ze si IBM vybralo.
Tvrdit v soucasne dobe, ze Smalltalk se pouziva pro velke aplikace vice nez Java, mi tedy bude jako vtip pripadat i nadale. Alespon do doby, nez prestanete vyjmenovavat vyhody Smalltalku proti jinym jazykum a ukazete nejake informace o te vetsine velkych aplikaci v nem psanych.
T.
Jasně, v komerčních implementacích Smalltalku je GUI "normální". Připoměl bych Smalltalk/X, který je volně použitelný i pro komerční účely a má konvenční GUI (součástí je i GUI-builder). Smalltalk/X je také zajímavý právě možností distribuce aplikací bez nutnosti "tahat sebou celý image" a to prostřednictvím kompilace ST kódu do dynamických knihoven. Pro zájemce: http://www.exept.de/sites/exept/english/Smalltalk/frame_uebersicht.html
Pri precteni teto vety ve me hrklo. Predstavme si tu nepravdepodobnou moznost ze by to byla pravda: takze pote co si vyzkousime programovat ve smalltalku, budeme jako programatori odepsani protoze nebudeme schopni uzivat si psani v normalnejsich jazycich, ktere po nas bude kazdy vyzadovat ...
Jeste ze je to pitomost.
Jinak, je hezke ze na kazdem pocitaci bezi jen jedna velka aplikace, jenze pocitacu v laboratori ani pocitacu na kterych programator vyvyji se to obvykle netyka ...
Takhle ultimativně jsem to nemyslel a ani nenapsal. Naprosto běžně pracuji s klasickými jazyky a i nadále pracovat budu. Kromě takových drobností, jako že člověk začínám skoro před každé volání metody psát this->, jsem moc velkou újmu neutrpěl :-)
Ale ty doby, kdy si člověk vesele programoval v C++ a věděl, že sice některé jiné jazyky na to jdou čistěji, ale C++ se nevyrovnají, jsou nenávratně pryč. Najednou více než kdy předtím vidíte, jak vás programovací jazyk brzdí.
Není to zas tak dávno, co bych těmto slovům nevěřil nebo je bral s velkým odstupem. Je to samozřejmě subjektivní dojem, ale zdaleka nejsem jediný.
No, ja bych celkem s autorem souhlasil. Vidim to sam na sobe - uz jsem programoval v kde cem - nerikam, ze nejak skvele a nejak velike veci, ale preci jen dost nato, abych se s tim jazykem a prostredim seznamil.
Za prve - zadny z nich me nezaujal natolik, co smalltalk. Ale necht, jsem asi divnej :-)
Za druhe - kdyz mam neco delat v necem jinem, tak i kdybych pominul to, ze v C++ proste nemuzu s temi objekty cvicit tak jak jsem zvykly z ST, tak mi chyby to prostredi. Chybi mi workspace, chybi mi debugger, ve kterem bych moh zaroven programovat, tak pohodlne ladit jako v ST. Chybi mi prehledne deleni a hledani ve zdrojacich, chybi mi podpora refaktoringu jak jsem na to zvykly ze smalltalku a tak dale. Ne ze to neumim, ale stava se to utrpenim, kdyz vim, co vsechno se da dneska udelat....
Zrovna ted delam projekt do OMP. Shodou okolnosti se jedna o temer stejne zadani.. I kdyz to asi bude po graficke strance snad trosku lepsi..
-->Pokud mi ho V.Janousek neuzna, tak udelam ve squeaku prvni vir !!! Teste se !!! ;o) Skoda, ze zatim nevim, jak by se siril.. :o))) Ale jeste par clanku a neco se urcite najde.. Dik za ne.. mejte se squeakeri fajn.
PS: kdyby nahodou nekoho napadl zpusob sireni, tak mi napiste na seim@seznam.cz :o))
PSS: ale neberu spousteni externich procesu, to by bylo podle.. ;o))
Znovu bych rád připomněl, že je založená česká konference o Smalltalku a hlavně o Squeaku.
Více info na http://www.comtalk.net/Squeak/21.
Doufám, že se někteří z Vás zapojí (především bych to doporučil všem, co by rádi ve Squeaku i něco naprogramovali).
Jinak:
Alan Kay (jedna z vůdčích postav nejen na poli Smalltalku a Squeaku) získal Turingovu cenu (v ceně je i 100 000 dolarů, takže pak, že se nedá na Squeaku vydělat :-D).
Více info:
http://www.ddj.com/documents/s=7338/ddj1082394014329/
http://www.hpl.hp.com/news/2004/apr-jun/turing.html
http://www.viewpointsresearch.org/about.html
Za upozornění děkuji PhD. Janouškovi.