K ovládání Squeaku se dostaneme později. Zdrojové kódy jsou přístupné pomocí nástroje System Browser (stisknutí levého tlačítka na ploše - open... - browser). Příkládek "Hello world" můžete napsat prakticky kamkoliv, označit a po vyvolání kontextového menu nad tímto textem (pravé či prostřední tlačítko myši dle nastavení) zvolit "do it". Zdrojáky si můžete rovněž nechat zobrazit třeba zde: http://www.comtalk.net/browser
Nazory typu "kdyz existuje neco tak krasneho jako (dosadte oblibenou technologii), proc se tu vsichni placame v (dosadte neoblibenou technologii)" jsou vetsinou dosti... horkokrevne.
Jake ma Smalltalk knihovny? Jaky ma pocet uzivatelu? Jakou dokumentaci? Kolik knizek o nem vyslo? A kolik knizek o systemech nad nim postavenych?
Kdyz ma vlastni planovac, k cemu je potom pracne vypiplany planovac OS? Kdyz muzu upravit cokoliv vcetne zakladnich trid, kde je potom nejaka bezpecnost? Kdyz je vsechno objekt, jaky je vysledny vykon?
Kdyz neco napisu ve Smalltalku, kolik bude stat clovek, ktery to po mne bude potencialne udrzovat? Kolik takovych lidi bude vubec k disposici?
Java je ted a tady, Smalltalk je IMHO jen dalsi z jazyku, ktere budou nekteri lide branit az za hrob, ale v praxi (ted, tady, v danem case a za dane penize) jsou v podstate nepouzitelne.
T.
No, nejdriv si to stahni a vyzkousej..
Me docela nadchlo graficke rozhrani.. Ikydz neni tak designove dotazene, tak presto je genialni.. Muzete okna otacet, muzou mit pruhledne casti, vsechno je konfigurovatelne.. U mne se to rendruje 50 obr/s a bere si to tak 5-10% cpu..
A vsechno je to postavene na objektech.. Na tech samych se standartnim ovladanim, ladenim.. Vsechno lze upravit podle vlastnich potreb.. Vyvojove nastroje jsou soucasti systemu..
Nevim, jestli ja jsem ten fundovany, ale muj nazor na bezpecnost ve smalltalku je takovyhle:
Je to uplne stejne jako v jakemkoli jinem programu v C, C++, ObjectiveC and so on.
V C mam k dispozici pro dany program celou jeho pamet,
(tj vsechny jeho stranky) a muzu prepsat kdekoli kdykoli cokoli na kde jaky nesmysl, zpusobici v lepsim pripade pad, v horsim pak kompromitaci systemu.
Z toho duvodu take nemohu (zatim) akceptovat odpovidajici argument pana Znamenacka...
O to preci jde, ne? Java ma ted hodne uzivatelu, je k ni spousta dokumentace/knih/dalsich technologii. Co ma ted Smalltalk? Pruhledna okna? Hlasovy vystup? V cem je tedy vyhoda Smalltalku proti Jave?
Na whysmalltalk.com je v sekci "Language comparisons" (coz mi prijde ponekud nepresne, vzhledem k tomu ze jde v podstate o vychvalovani Smalltalku, nic proti nicemu) hromada argumentu proti Jave, cituji z jednoho clanku:
..."This, along with 'final' classes, very messy introspection and those damned checked exceptions make working with Java very frustrating for a Smalltalker."
Tak tomu vazne rikam argument.
Zbytek argumentu proti Jave jsou vesmes drobnosti (nerikam ze vsechny). Je to legracni, ze se tak titerna technologie (byt se spoustou zajimavych koutku) snazi ohanet proti necemu, v cem se pisou aplikace s miliony radku kodu a na cem funguji cele firmy.
Nikomu nechci brat Smalltalk a nerikam ze je k nicemu, ale je naprosto zbytecne ho srovnavat s Javou, ktera je na mile prakticke pouzitelnosti dopredu.
T.
(1) Nejde preci jen o aktualni pouzitelnost. Kde by byla java, kdyby nikdy nevznikl smalltalk? A kde byla java, kdyz smalltalk vznikal? Tak kdo ze je vepredu? Zalezi na uhlu pohledu - muzete hodnotit technologicky naskok, komercni naskok apod.
(2) Myslim, ze smalltalk neni tak mrtvy, jak by se snad mohlo zdat z Vasich slov. Mozna nema jen tak masovou reklamu...
> Je to legracni, ze se tak titerna technologie (byt
> se spoustou zajimavych koutku) snazi ohanet proti
> necemu, v cem se pisou aplikace s miliony
> radku kodu
> a na cem funguji cele firmy.
He ?? No takze nejlepsi na svete bude asi COBOL, co ? Fakt legracni argument. Pocet programu co byly napsane v X nevypovida o kvalite X.
> je naprosto zbytecne ho srovnavat s Javou, ktera
> je na mile prakticke pouzitelnosti dopredu.
Vazne a v cem ? Pro Smalltalk mas taky spoustu "dokumentace/knih", nevim jak v pripade (a co to vlastne znamena? J2EE?) "dalsich technologii".
Chapu ze se na to divas z ciste praktickeho hlediska. Ja osobne jsem ve Smalltalku taky nenapsal ani carku, jen se mi v necem dost libi. Mozna kdybych urcoval v cem ma nase firma programovat tak bych do toho sel, nevim. Zalezi hlavne na tom, co delas. V kazdem pripade, s tvym pristupem by jsme dodnes vsichni programovali ve Fortranu.
Kdyz je v necem naprogramovana hromada programu, znamena to, ze v tom napsat jdou. Kdyz chci udelat velkou webovou aplikaci a zjistim, ze hromada velkych webovych aplikaci je v Jave, mam jistotu, ze se to tou technologii zvladnout da. To uz zni rozumne, ne?
Mnozstvi dokumentace a knih dostupne k Jave a Smalltalku se lisi minimalne o rad. Kratky, nicnerikajici test googlem: 9 milionu k jednomu.
Dalsich technologii? Pro Javu existuje rada velmi kvalitnich jak komercnich, tak free IDE. Existuje nekolik prekladacu, jak do bytecode, tak nativnich. Existuji nastroje pro automatizovanou kontrolu kvality kodu, pro dokumentaci kodu, pro automaticke sestavovani. Existuje knihovna snad pro kazdou myslitelnou saskarnu. Existuji docela komplexni frameworky pro webove aplikace, testovani kodu a ja-nevim-co-jeste. Existuji implementace JVM pro mobilni pripadne jinak ozebracena zarizeni.
CO MA SMALLTALK? Hezci teoreticky navrh jazyka? Ho-ho-ho.
Proc by mela nejaka firma delat ve Smalltalku? Aby hur hledala vyvojare? Aby se uvazala na platformu, ktera muze zmizet behem par let? Aby mohla klientum rikat, ze to sice bude vyzadovat ponekud nestandardni prostredi, ale zato to bude mit hezci zdrojaky?
Ale ze jsem se rozohnil, ze? :)
T.
> Mnozstvi dokumentace a knih dostupne k Jave a
> Smalltalku se lisi minimalne o rad. Kratky,
> nicnerikajici test googlem: 9 milionu k jednomu.
No a co ? Kolik knih o Jave jsi precetl, kolik webovych stranek o Jave jsi precetl ? Jiste je, ze je to maly zlomek vsech knih a webu o Smalltalku. Na co ti jsou stovky knih a gigabajty HTML ? Smalltalk toho ma dost, zestonasobeni ho neudela o nic lepsim a tvoje srovnani je o nicem.
S tim ostatnim budes mit samozrejme zhruba pravdu.
V kazdem pripade plati ma posledni veta o Fortranu. Mel by sis uvedomit, ze uplne vse zacina od nuly, i ta tvoje slavna Java. I pro ni se muselo vsechno leta vyvijet a psat knihy. Tvoje strategie "jit s vetrem" je pravdepodobne racionalni. Nastesti ocividne zdaleka ne kazdy premysli jako ty, jinak bychom zamrzli nekdy v dobe ledove.
Nevim, snad pomalost. Clanek se o tom zminuje. Smalltalk je jazyk ktery v podstate nebere na rychlost ohled a je tezke ho primet bezet slusnou rychlosti. Obecne si myslim ze se rozsireni jazyka prilis neridi jeho kvalitou, viz. masova adopce C. Ale ja se tu ani nehadam ktery jazyk je lepsi.
"CO MA SMALLTALK? Hezci teoreticky navrh jazyka?"
SmallTalk ma asi o generaciu lepsi navrh co sa tyka schopnosti oproti Jave. Java mi pripada ako osekany SmallTalk s C++ syntaxou. Styl prace s Javou sa viac podoba na klasicky konvencny sposob prace, so Squeakom je to uplne ina skusenost (neviem, ako je to u inych ST). ST je zaujimave svojou takmer "ziadnou" syntaxou.
Sam som sa dost trapil spociatku pri prvom programe v ST, no ked som si vsimol v Class browseri, ze tam idu pisat class metody a dostal sa trochu do rytmu s blokmi kodu ako parametrami, rozvinula sa predo mnou zaujimava skladacka jazyka, o akej som predtym ani netusil, ze vobec existuje.
SmallTalk je skutocne zaujimavy (a svojim sposobom pekny jazyk), urcite by som v nom ucil deti programovat, pretoze je velmi prirodzeny a malou zmenou kodu sa tam daju prirabat neuveritelne veci.
Enterprise computing som nevidel, ale moj ucitel ST na bratislavskom matfyze tvrdil, ze VisualAge ST sa silne pouziva este stale v bankovnictve (uznavam, ze COBOL tiez, a o "uzasnosti" jazyka to nic nehovori :-). Kazdopadne to aspon ukaze, ze sa to pouziva aj v realite.
Pre mna je ST vitanym prirastkom medzi jazyky, ktore poznam. Najviac sa mi sice stale paci C++ (nech si cisti objektaci hovoria co chcu), ale ST ma vela silnych myslienok, ktore na mna dost podstatne zaposobili. Som sice odchovany na kombinacii BASIC/Asm/Pascal/C++, no taktiez som sa bavkal s exotmi typu Prolog/LISP/Haskell/ST, a tak uz mam isty prehlad, co mozem od programovania ocakavat. Uznavam, ze ST mal v sebe niektore paradigmy, ktore som predtym, a ani potom nevidel nikde zrealizovane.
Java je fajn jazyk, avsak trpi tiez svojimi chorobami. Taktiez sa v nej daju pisat "obfuscated" kody, podobne ako v C, ma zle vyriesene primitivne typy, strasidelne deklarovanie vynimiek, anonymne triedy, ktore dokazu vsetko zneprehladnit a vela dalsich otravnosti. Chybaju mi tam sablony (co sa nastastie v 1.5 zmeni a uz sa na to tesim), Swing GUI nie je stale moc rozvinute, priprava EJB aplikacii je neuveritelne zdlhava (XML konfiguracie), EJB samotne neoplyva vykonom atd.
Praktickemu rozsireni SmallTalku branilo a brani predevsim zkostnatele mysleni programatoru. Ackoliv dnes jsou vyuzivany OOP jazyky, kody v nich napsane jsou casto (nekde jsem cetl az 90%) pouze procedury v obalakach obejektu. Ve SmallTallu to bez objektoveho mysleni nejde. Rada lidi, kteri zacinali na klasickem programovani, ho nepochopi. Ale tito lide budou ubyvat. I na vyvoji Javy od 1.1 do 1.4 lze sledovat, jak jsou stale vice a vice zapojovany "objektove veci" (Collections apod.).
Podle pana Merunky, ktery mne ucil SmallTallk na CVUT FEL, je v ST naprgan nejaky system rizeni letiste, ktery bezi na par svetovych letistich.
Opravdu SmallTallk, Tomasi, vyzkousej :-)
Praktickemu vetsimu rozsireni brani prinejmensim prakticke problemy, na ktere tu zatim nikdo reseni nenabidl.
- Jak je to s bezpecnosti?
- Jake jsou dostupne knihovny?
- Jaka je dostupna dokumentace?
- Jaka je podpora v OS, pripadne distribucich?
Plus tisice dalsich problemu realneho sveta.
Smalltalk IMHO svuj kousek do mainstreamu prihodil prave prostrednictvim Javy (alespon to tvrdi vetsina map vyvoje programovacich jazyku), ted je zkratka jen dalsi teoreticky vyspelejsi a prakticky temer nepouzivany (freshmeat:19...) jazyk.
T.
Nechci se v diskusi příliš rozvádět nad tím, o čem bude řeč v následujících dílech. Smalltalk se s těmito problémy snaží samozřejmě nějakým způsobem vyrovnat. Program ve Smalltalku může být stejně neprůstřelný, jako kdyby byl napsán v čemkoliv jiném. Knih se taky pár najde a nemálo z nich je přístupných zdarma (http://www.comtalk.net/Squeak/16). Podpora OS není velký problém, ze Squeaku můžete např. velmi jednoduše volat libovolné funkce z dynamických knihoven (ODBC atd.). Lze jej spustit většinou bez jakékoliv instalace a dostupnost knihoven na té či oné platformě, rozdílnost jejich verzí a bůhvícoještě, to jsou problémy, se kterými se Smalltalkovské programy z principu zabývat vůbec nemusí.
Podobné argumenty, jaké uvádíte Vy, se ozývaly při nástupu C#. Smalltalk je prostě další alternativa, která se může pro některá nasazení ukázat jako vhodnější.
Omg ...... zkusim to znovu: rozsireni pouziti daneho jazyka jde ruku v ruce s rozsirovanim nabidky tech veci o kterych mluvis. Neni mozne mit vsechno od zacatku. Kazdy jazyk zacina skoro na nule a s pomalym rozsirovanim jeho popularity se rozsiruje i ten zbytek. Nemuzes okamzite nechat napsat 100 knih, vyvinout 20 IDE, 20 refactoring nastroju, zalozit 100 webu atp.
Tvoje teorie o tom ze se jazyky kterym toto chybi nemohou rozsirit je naprosto ocividne spatna, jednoduse proto ze zadny jazyk na zacatku tve pozadavky nesplnoval. Nic nebylo hotove od zacatku, vse vzniklo pomalu a postupne. Presto v historii IT vznikla a ujala se spousta jazyku. Duvod je uplne jednoduchy - poste ne vsichni jsou tak konzervativni jako ty.
Uvedom si ze kdyby jsi zacal z programovanim driv a pouzival treba C/Adu/Smalltalk a najednou Sun prisel s nejakou Javou, tvoje reakce by naprosto logicky musela byt "kde jsou me desitky knih/nastroju/knihoven/podpora pro 200 platforem atp. vzdyt je to cely uplne nanic !"
Jinak tak polovina tvych stiznosti je IMHO zpusobena spis neznalosti.
Zajimalo by me, v cem vidis tebou opakovane zminovany problem s bezpecnosti, vis snad o nejakych dirach v implementacich Smalltalku, nebo ? Jak jsi k tomu prisel ?
Btw pokud jde o prispevek Smaltalku do Javy, muze mi nekdo vysvetlit o co konkretne jde ? Me (IMHO) prijde ze OO schopnosti Javy jsou proste osekane C++. Misto Javy bych spis toto tvrdil o C# s jeho schopnosti automaticky zapouzdrovat primitivni typy do objektu (takze vse se muze chovat jako objekt).
"Smalltalk has had a long and healthy life. After it's creation in the late 1970s, Smalltalk became a frequently used and sought after language in the 1980s and 1990s. As Java's marketing mastery took the world by storm, many Fortune 500 companies have decided to stick with Smalltalk. The reason that many companies continue to use Smalltalk is simple; Smalltalk can do everything that Java can do, and much more."
(http://www.goodstart.com/article1.shtml)
Tak tohle je z clanku o Smalltalku z roku 1999, tedy z clanku pet let stareho. Pohnulo se za tu dobu neco? Nebo je porad nejvetsi realnou vyhodou Smalltalku skalni optimismus jeho uzivatelu a na ovladnuti sveta se ceka, tzv. syndrom Hurd?
Koncim :) T.
Lidi asi casto dospjeji k nazoru, ze je rychlejsi si udelat neco vlastniho, nez pochopit nejakou cizi a pro ne slozitou (i kdyz treba dobre promyslenou) architekturu. Postupne zjistuji jake ma jejich reseni nedostatky, vylepsuji, pridavaji az je to po case docela pouzitelne. Ale ti, co tim vyvojem neprosli stoji zase na zacatku, zda se jim to prilis komplikovane a radeji vymysli zase neco vlastniho...
Javu a Smalltalk lze jen tezko porovnavat. Je mezi nimi mnoho koncepcnich (filozofickych, chcete-li) rozdilu. O vecech jako je typova kontrola, final class, checked exceptions a dalsi je mozne vest sahodlouhe flamewar, ale to je asi tak vse.
Smalltalk byl navrzen jako velmi elegantni, co nejobecnejsi nejrozsiritelnejsi, atd.
Java byla navrzena jako jazyk pro velmi prakticke pouziti, lepsi psani a spravu projektu apod. a proto ma spoustu omezeni.
Vrtaji mi hlavou nasledujici otazky:
(1) Jakou formou se distribuuji smalltalkske aplikace?
(2) Je nejak resena bezpecnost, prava? Jak?
(3) Predstavme si nekolik serverovych aplikaci napsanych ve smalltalku.
Je bezne spoustet tyto aplikace spolecne v ramci jednoho vm? Nebo se pro kazdou aplikaci spousti vlastni vm?
(4) Meni se odpovedi na otazky 1-3 u ruznych implementaci st?
Myslim ze to jsou zasadni otazky a autor odpovedi na ne jiste zacleni do nasledujicich dilu :)
"kde jsou ty casy art rocku 70tych let..."
To je jednoduché, art rock se přetransformoval v progresivní metal/rock dnešních dnů. Pro ověření zkuste např. předposlední album Dream Theater - Six Degrees Of Inner Turbulence. Možná se tak před vámi otevře zcela nový (dosud neznámý a netušený) svět...
Zkousel jsem ten hello world ... a nic. Squeak mi normalne hraje a zvuci, jen tohle nerekne.<br>
<br>
Nema ten priklad byt spis (tecka je jinde)?<br>
Speaker woman say: 'hello world.'<br>
Kdyz dam debug it, tak to pise:<br>
UndefinedObject>>DoIt<br>
[] in TextMorphEditor(ParagraphEditor)>>debug:receiver:in:<br>
[] in BlockContext>>newProcess<br>
<br>
Mozna predbiham, ale nevite nekdo co s tim je?
Squeak3.6-5429-full.image
na MDK9.2
Jednou se to rekne, ale to je naposledy. Kdyz dam znova do it tak se v konzoli, odkud jsem startoval Squeak zacne porad dokola vypisovat
sound: /dev/dsp: GETOSPACE: Broken pipe
Tak nevim jestli je to ve Squeak nebo v Linuxu.
Kdyz dam print it, tak se to take rekne (jen jednou), pripise se k tomu
a Speaker
a zase sound: /dev/dsp: GETOSPACE: Broken pipe
Dobry den,
tak jsem si zkusil squeak nainstalovat. Staci s domovskych stranek stahnout balik, rozbalit a spustit pod rootem "/bin/sh INSTALL", pak se musi upravit prava v /usr/local/lib/squake, tak aby obycejny uzivatel prosel do dalsich adresaru. Nakonec staci spustit squake s jeho imagem: "squeak Squeak3.6-5429-full.image".
Ma to trochu zhovadile GUI, ale umi to zajimave veci.
Brutus: ma to vlastni webovy prohlizec (je hrozne pomalej a nic neumi :-) ).
Nechci se pouštět do diskuse o správnosti přístupu autorů Squeaku při tvorbě jejich interpretu SmallTalku. Myslím, že je to zatím úplně bezpředmětné, protože díky odpudivému GUI nemá podle mně tento jazyk šanci na praktické uplatnění. Dokážete si někdo představit, že v takovém GUI napíšete free software, který bude skutečně někdo používat? Nebo dokonce komerční aplikaci, kterou někdo zaplatí? To je zatím bohužel utopie.
Využití nativních správců oken u komerčních implementací SmallTalku sice možná tak čistě nenaplňuje původní vizi jazyka, ale umožňuje použití jazyka v praxi.
hehe! tys to vystihl!
rozhoduje GUI! nic jinyho.. proc se nadava na Javu? Protoze SWING! A uz ji to nikdo neodpare. Proc se vychvaluje Apple? Protoze maji nadherne GUI, nenapodobitelne nikde jinde. Proc ma uspech .NET? Protoze se v nem daji delat hezka okynka. Je to sice blbe, ale je to tak, vyvojari jsou taky lidi a libi se jim hezke veci ;]
V konecnym dusledku UI rozhoduje, ale ne podle krasy - podle pouzitelnosti. Pomaly UI je nepouzitelny at vypada jak vypada (coz vylucuje SWING), u tech rychlych rozhoduje pouzitelnost (i kdyz u Mac OS zrovna nevim, spousta veci je tam dost omezujici).
.Net ma uspech protoze v nem diky Microsoftim tahacim nastrojum dokaze "psat" kdokoli. Ale pokud v nem chcete delat trosku solidnejsi praci tak stejne clovek skonci v Notepadu a bude vypinat co jde (a nepouzivat treba datagrid, protoze v nem neco udelat tak aby to delalo co clovek chce je na mrtvici).
>> .Net ma uspech protoze v nem diky Microsoftim tahacim nastrojum dokaze "psat" kdokoli. << tohle tvrzeni snad neni mysleno vazne... a pokud datagrid neco neumi, co pouzit OOP a udelat si svuj? A nebo by se dal preprogramovat OS, protoze neumi skakaci okynka... no a nebo si vymyslet svoji instrukcni sadu pro procesor... navrhnout novy procesor... btw, sam osobne si myslim, ze .net ma uspech, protoze
1. konecne sjednocuje pohled na vyvoj SW
2. zjednodusuje vyvoj SW
3. dobry marketing
A pokud jde o Notepad, nikdo v pouziti nebrani. Stejne tak se da v notepadu psat kod i pro jine jazyky a je lacine to svadet na .Net >> chcete delat trosku solidnejsi praci tak stejne clovek skonci v Notepadu a bude vypinat co jde <
zkousel jsem instalovat (debian unstable) pres apt-get (pridal sem sources, vsechno ok, nainstalovano ok) ale z menu to nenastartovalo a v terminalu (inisqueak) mi to psalo ze nemuze najit image soubor :( zkusil sem stahnout skript install-squeak.sh a ten sice chvili vypadal ze je ok, ale pak na me zarval (asi na 10-ti mistech to samy): "/usr/local/src/Squeak-3.4-1/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c:264:5: missing terminating " character"
- a to " tam je!!! tak sem se na to vykaslal a vsechno sem smazal :(((((
mrzi me to, protoze sem se chtel uz davno smalltalk naucit, ale nemam naladu se hrabat v tom co je spatne
Neberu nikomu jeho programovaci jazyk. Nekomu se libi C,C++, jinemu Java, dalsimu Pascal jinym treba Python, Perl a nekdo si neda dopustit na svuj Assembler. Ale myslim ze by se autor mohl vyjadrit k jazyku ktery je opravdu pokrokovy a dle meho nazoru neprekonatelny svou jednoduchosti. A to je LISP. I Smalltalk z nej vychazi a podle me je Smalltalk proti Lispu docela krok zpet. Nakonec snad kazdy zna TCL. Ano i to je hodne orezany Lisp.
Dobrá. Lisp je geniální jazyk. Jednoduchostí syntaxe se mu skutečně nevyrovná ani Smalltalk. Jeho obecnost je opravdu úchvatná při zachování velmi dobrého výkonu. Ovšem... Lisp je poměrně dost problematický jazyk. Dokonce i puritání funkcionálního programování se na něj dívají s opovržením. Lisp už podle mého skromného názoru překročil hranici mezi obecností a jednoduchou použitelností. Když pomineme velmi logické nazvy některých standardních funkcí (dnešek je car od cdr tvého života) a příslovečné závorkové peklo, pořád zde ještě zůstává programovací jazyk, jehož vyjadřovací prostředky se výrazně liší od běžných lidských myšlenkových pochodů. Smalltalk vznikl, aby přenesl obecnost Lispu blíže normálním lidem. Budu rád, pokud mi přiblížíte, v čem přesně spočívá zpátečnický přístup Smalltalku (z těch důležitějších věcí mě snad napadá jen konstantní počet parametrů funkcí, což samozřejmě řeší použití kolekcí). Neodpustím si drobnou poznámku. Znáte jazyk Self? Dříve se nazýval Smalltalk-86 a jedná ze o beztřídní variantu Smalltalku. V čistotě návrhu jazyka zachází dále než Smalltalk. Dokážu si spíše představit, jak si programátoři za x let budou pohrávat ve virtuální realitě s jednotlivými objekty, propojovat je vazbami a studovat je, než že budou hledat, která závorka patří ke které.
Přesně jak píśete. Jednoduchý, rychlý, elegantní. Za obrovskou výhodu považuji například to, že interpret lispu se už asi 40 let nezměňil. Ale zato k němu bylo přidáno mnoho věcí jako Clos, paralerní zpracování. A to vše BEZE změny interpretu. Navíc Lisp má jednodušší syntaxi. Nevím jak bych já sám napsal interpret Smalltalku, zato vím že základní intepret (neúplný) se mi podařilo napsat asi na 400-500 řádků C kódu.
Ad. závorky : To je snad opravdu největší problém, ale zase to vyváži absolutně to, že není rozdíl mezi daty a programem. A to se počítá.
Nechápu, proč se všichni naváží do závorek. S jistou nadsázkou bych si klidně dovolil prohlásit, že v lispovském programu je přibližně stejné množství kulatých závorek, jako v ekvivalentním programu v C++ závorek složených. Akorát je celý kód v Lispu asi desetkrát kratší, takže je to víc vidět :)))