Přímo v distribuci Squeaku nejsou nachystány obecné třídy pro stromové struktury (jako různé vyvažované stromy a podobné serepatičky).
Ale od čeho by tu byl SqueakMap server, kde jsou ke stažení např. B-stromy a určitě se na webu najdou i nějaké AVL stromy nebo Red-Black stromy.
Další stromové struktury např. abstraktní syntaktický strom nebo derivační strom použivané pro práci s jazyky jsou k dispozici např. v již trochu archaickém projektu T-gen.
Názory k článku
Squeak: návrat do budoucnosti (12)
Stromy
celé vláknoZměna iterované kolekce
celé vláknoOhledně této problematiky je na comtalku pár řádků včetně odkazu na alternativní řešení (hlídání na úkor výkonu) viz:
http://www.comtalk.net/Squeak/46#Bug3
Bohužel zatím jsem neměl čas ověřit, zda uvedená záplata funguje na novějších verzích Squeaku (3.4 - 3.7beta).
Bez titulku
celé vláknoV kontextu rovnosti objektů by možná stála za zmínku metoda #hash, která je duležitá pro kolekce typu Set, Dictionary .... Pokud do těchto kolekcí vkládáme objekty, u kterých jsme předefinovaly metodu #= a ne metodu #hash, mohou vznikat docela flustrujici chyby :)
Praktické využití
celé vláknoOmlouvám se, tento příspěvek by měl patřit spíše k předchozímu dílu, ale tam by to už nikdo nečetl.
Zaujalo mě prohlášení autora o vlastnostech SmallTalku a protože mám rád "alternativní metody", poctivě jsem přečetl všechny díly v domnění, že bych ST mohl využít. Bohužel mi čím dál jasněji připadá, že ST je pouze akademickou hračkou k potrápení mozků studentů při řešení teoretických úloh.
Možná je to i přístupem autora, který předpokládá, že každý ví co je to Petriho síť a jak se simuluje. Já už jsem nějaký pátek ze školy v pracovním procesu a úlohy se kterými se setkávám jsou z úplně jiného soudku. Co takhle napsat jako příklad jednoduchou SMTP - SMS bránu, triviální katalog výrobků, nebo třeba parser konfiguračního souboru či logu? To mi přijde podstatn blíž praxi, než Petriho sítě. Obstojí ST? S metodami na 2-5 řádků?
Existuje někde tutoriál k ST (srozumitelný, ne příklady typu Petriho síť)?
Děkuji,
Martin Horák
Re: Praktické využití
celé vláknoAno, tutorialu je dost, napriklad na http://www.whysmalltalk.com/tutorials/index.htm . Zejmena visualworks, ktere jsou pro nekomercni vyuziti zdarma, maji velmi mnoho tutorialu.
Re: Praktické využití
celé vláknomam z toho ten samy pocit, ST je hezky navrzeny jazyk s malym zakladem a tedy minimalnim omezenim, ale timpadem musi dalsi pravidla dodrzovat programator sam. z praxe vim, ze velmi nachylne k chybam je prave to, ze tym lidi musi dodrzovat urcite konvence pri psani programu, implementaci objektu apod a kdyz se nekde neco vynecha, tak se to pak tezce dohledava (a to neni pouzitymi nastroji pro vyvoj, ale slozitosti programu). Proto cim vic toho pohlida primo jazyk, tim lepe. kdyz jsem v minulem dile videl, ze na zacatku konstruktoru se pise super initialize tak me desi. na jednu stranu autor uvadi, ze toto se s dalsi verzi zmeni (ale pouze u jednoho zpusobu vytvareni objektu, aj!) a pak se jako argument pro pouziti ST uvadi stalost jazyka. tak nevim, co si z toho vybrat.
chapu, je to hekze, ze je to ohebny nastroj, akademicky ciste, ale pro praxi, kde se pisou funkce, ktere maji vice nez 5 radku a objekty maji vice nez 10 metod se to absolutne nehodi. tak prosim pouzivejme jazyky pro ucely, ke kterym se hodi, ST pro akademickou sferu a javu a c++ pro skutecne programovani informacnich systemu :-)
to jsem si zase rejpnul
Re: Praktické využití
celé vlákno>> to jsem si zase rejpnul
Dekujeme za vysoce hodnotny prispevek.
Ostatne tesime se na vase serialy o
skutecnem programovani informacnich
systemu.
Re: Praktické využití
celé vláknoUz to tu nekdo vzpomnel drive, nicmene to opet pripomenu - existuje ObjectiveC, coz je Smalltalkem silne inspirovane rozsireni jazyka C o OOP s pozdni vazbou. Je v nem napsan Mac OS X, GPL implementaci zakladnich trid a behoveho prostredi lze najit pod jmenem GNUStep (http://www.gnustep.org/) a prekladat lze napriklad pomoci objc rozireni gcc (http://www.gnu.org/directory/gcc.html). Serii clanku a dalsi evangelizacni materialy lze najit na strankach pana Ondreje Cady (http://www.ocs.cz) a doporucuji rovnez disputaci panu Cady a Viriuse o Jave a ObjC (http://www.ocs.cz/text/Java/). Tot vse pro zvidave...
Re: Praktické využití
celé vláknoCo se týče "praktické" použitelnosti "ryze akademických" jazyků, vřele doporučuji k přečtení text Paula Grahama Pomsta nerdů, v českém překladu k disposici na http://www.otaflegr.com/preklady/PomstaNerdu.html Řekl bych, že to není úplně mimo mísu, i když ten text pojednává o Lispu.
Re: Praktické využití
celé vláknoTen clanek rozhodne neni mimo misu. LISP je jednim ze zakladnich korenu Smalltalku. Oba jazyky jsou si v mnoha ohledech velmi blizke a zmineny clanek lze bez problemu vztahnout i na Smalltalk.
Mirne desive jsou ovsem v ceskem prekladu brutalni chyby v i/y.
Re: Praktické využití
celé vláknoRe: Praktické využití
celé vlákno>> Co takhle napsat jako příklad jednoduchou
>> SMTP - SMS bránu, triviální katalog výrobků,
>> nebo třeba parser konfiguračního souboru či logu?
Pripojuji se k vyslovenemu prani...

