hele, s timhle hruza-jazykem jsem se setkal jednou (diky ing merunkovi) a jiz nikdy vice. Co na nem vsichni vidite? je to tak elegantni, ze o tom muzou mluvit pouze akademikove. kdyz jsem v nem psal semestralku, malem jsem vyrostl! v knihovne jsou sice miliony funkci, ale dokumentace nulova (pry je vse dokumentovane uvnitr, ale to jsem si nejak nevsiml). chapu krasu navrhu jazyka, ale bez podpory a dostatecne user-base je to k nicemu. kdyz jsem narazil na problem, nebyl mi schopen poradit NIKDO (napriklad jsem resil trivialitu - jak program zjisti rozmer vnejsich prvku okna, aby to chodilo ve win i linuxu (kde je to jinak), nevyresil). budete se muset HOOODNE snazit, abyste mi muj nazor na smalltalk poupravil
Pleteš tak trochu do sebe dvě věci. Je dost velký rozdíl mezi jazykem a jeho implementací. Tvoje stížnost se týká čistě implementace (nevím, na kolik je oprávněná, ale předpokládám, že je). S vlastním jazykem nemá nic společného. Někdy se těžko hledá hranice, co je ještě součástí jazyka a co už jsou nezávislé knihovny, ale to na tomto faktu nic nemění. Navíc pokud jsem si správně domyslel, tak jsi pracoval s prostředím VisualWorks, které je na cvičeních pana Ing. Merunky zpravidla používáno. Zde je řeč (teda podle názvu předpokládám, že bude ač zatím byly zmíněné jen obecně platná fakta) o jiné implementaci: Squeak.
Zase tak moc se neplete. Autor uz v uvodu pise, ze vyklad pobezi na Squeaku. Sam jsem takovy projekt ve squeaku delal do jednoho nejmenovaneho predmetu na jedne nejmenovane skole u pana Janouska :-) Dokumentace v nem opravdu moc dobra neni a nazvy metod jsou nekdy trochu zavadejici.
Kdyz se do toho clovek ale dostane, tak par radky kodu se da vyjadrit hodne veci.
Dneska o použitelnosti jakéhokoli jazyka rozhoduje daleko víc jeho standardní knihovna, než samotný jazyk. Samotný jazyk je vám na nic, pokud nechcete velmi mnoho času strávit psaním vlastních knihoven.
Jazyk se neuchytí, pokud nemá dobrou knihovnu. Pokud jí tedy nějaká jiná hodně rozšířená a dobře použitelná knihovna nezasupluje.
:-) Tak tak. Jinak k tem VisualWorksum - ono to ma neco do sebe. VW nejsou nic uzasneho, ale maji tri vyhody - jsou mozna neelegantni, pomale, a kdo vi jake, ale je to komercne nejpouzivanejsi smalltalk,
takze je relativne odladeny. Kdyz prijde novacek,
zkusi nejake zakladni refaktorovani a hned na nej vyleze debugger, protoze RB je mirne receno bugovy, tak to take nic moc. Nehlede na to, ze Merunka potrebuje krom smalltalku jeste dve veci:
pristup do Oracle a GemStone/S - a to je problem :-)
Ad dokumentace - cetli jste
vsechny ty Cincomi PDF? Mam dojem, ze AppDevGuide.pdf
ma asi 4MB a to je jen jeden z mnoha. Tam se da leccos najit. Nebo Smalltalk by Example? Imho tam je dost informaci. Ono jde imho jen o zvyk, cist smalltakove zdrojaky a pochopit to z nich...kdyz uz je nejhure.
Zacatek spatny vsechno spatne. Ja jsem ty hodiny na OSU take absolvoval u tehoz pana. Ale on se to nejspise ucil jen par hodin pred tim nez to vykladal nam. Vysledkem je, ze jsem k Smalltalku skepticky stejne jako Vy. A jiz leta se te skepse nemohu zbavit.
Treba se to povede po serii clanku na rootu....
hmm, zajimave jak je videt, kdo se setkal se SmallTalkem pres ing. Merunku je znej zklamany,
ale bohuzel (nebo spise bohudik) chyba neni v ing. Merunkovi, ale v prostoru, ktery je podobnym technologiim venovan na skolach kde ing. Merunka uci. Sam jsem ve VisualWorks naprogramoval par aplikaci (pod vedenim prave ing. Merunky), stravil mnoho desitek hodin nad pochopenim celeho objektoveho programovani stylu "uplne vse je objekt". Kdyz se do toho ale dostanete, je to jako vlastnit velmi efektivni zbran. Postupem casu zacnete zjistovat, ze kod, ktery ma 10 - 15 radku se da vlastne napsat do jedineho a pak z toho teprve zacina jit mraz po zadech :) Takova mala studijni evidence behem 30 minut vcetne propojeni do databaze a odladeni....to myslim stoji za poklonu Smalltalku a objektovemu programovani vubec.
Jinak jsem rad, ze se cas od casu takoveto zpravy
ze sveta smalltalku objevi...dik patri autorovi...
Ja jsem se setkal se SmallTalkem pres ing. Merunku a zklamany jsem z nej nebyl. Prave naopak :-) Je to, pravda, docela zvlastni jazyk. Ale kdo ho pozna, prestane C++ a Jave rikat "objektove orientovany jazyk". Protoze pozna OPRAVDOVY objektove orientovany jazyk :-)))
Jedine co mi trochu vadilo, ze snad i syntakticka kontrola se delala az pri pruchodu programu prislusnou vetvi, coz bylo ponekud neprijemne.
No měls vidět ing. Meruňku když četl Tvuj příspěvek :))) Každopádně jsem se s Tvejma pocitama ztotožňoval. Leč kdo v něčem nezačínal já jsem během semestrálky doost nadával proklínak tenhle nesmysl, ale když to mám za sebou řikám si že nebejt totálně línej a věnovat tomu ještě několik měsíců tak mám docela mocnej nástroj v ruce a určitě se v něm bude dělat spousta programů líp a snáze než v C++. Jádro pudla neni asi v tom v čem se to dělá ale jak se to dělá a bohužel zatim neni takovejchhle programovacích prostředí moc takže nemáme moc na výběr. Jo a je pravda že Smalltalk je doooosti jinej oproti všemu co jsem doposud poznal a odtuď pramenila ta nenávist všechno je jinde a jinak.
Ciste jenom mala poznamka. Ne ze bych nesouhlasil, ze jazyk neznam ridici struktury if, while... Podle definice je to pravda. Tyto "struktury" jsou nahrazeny slovnimi operatory (teda jestli si to pamatuji dobre :)), ale vysledek pro porgramatora de defakto stejny.
Jinak velmi hezky nasapny clanek a tesim se na pokracovani.
Tak uplne bych necouhlasil s terminem "slovni operator", anzto to pak vypada, ze tam existuji nejake operatory. Konstrukce ifTrue:ifFalse jsou reseny jako standardni zpravy objektum, funcionalita je dosazena polymorfismem. Samorejme kdyz se napise
true ifTrue:[ self cosiNaTrue ]
ifFalse:[ self cosiNaFalse ]
tak to "vypada" podobne jako
if (true) {
self.cosiNaTrue()
} else {
self.cosiNaFalse()
}
ale koncepne je to neco zcela jineho! Zkuste si
donutit konvenci jazyk k tomu, abyste mohli
nejprve psat else-vetev a pak tu "hlavni".
Ve Smalltalku to zaridite snadno, proste pridate
metodu do tridy True a False
(teda, metoda ifFalse:ifTrue tam samozrejme je :-)
Takze ve Smalltalku nejsou operatory, klicova slova,
prikazy...ve smalltalku jsou jenom objekty :-)
Autorovi gratuluji, uz asi tak mesic si pohravam s myslenkou napsat nejaky clanek na Root o smalltalku :-) No, byl jsem predebehnut...o starost mene :-)
V kazdem pripade vsem vaznym zajemcum doporucuji
podivat se take na Smalltalk/X od Klause Gittingera.
Muj osobni dojem je takovy, ze to je dost slusna vec.
SystemBrowser v St/X je srovnatelny (a mozna lepsi:-)
nez ve VisualWorks 7.2, koncepcne mi prijde mnohem
hezci nez komercni VW - a daji se s nim - obzvlaste na UNIXech delat strasne veci - pro navnadeni treba
oznacit okno a rici mu:
window migrateTo:'remotemachine:0.0'
a sup ho, kolega ho ma na svem Xserveru.
nebo zprava
aString levenshteinTo:anotherString
take asi mluvi za vse. A je pekelne rychlej,
rozhodne rychlejsi nez Squeak (co jsem videl ja).
A kdyby to bylo moc line, tak proste kus napisete
v C - zvlada hrave i inline C - v browseru date accept a je to...doufam...rozhodne stoji za povsimnuti...