Pořádné IDE pro Smalltalk

blizz

Pořádné IDE pro Smalltalk
« kdy: 12. 06. 2011, 14:38:41 »
Na smalltalk som už čítal veľa chvály, zaujímalo by ma ako je smalltalk použiteľný v reále, na vývoj bežných desktopových aplikácií. Skúšal som rôzne vývojové prostredia pre Smalltalk, najprv som skúsil squeak, ale od použiteľného IDE to má ďaleko imho mi to pripomína omalovánky pre deti (nič  v zlom ale toto: http://wiki.squeak.org/squeak/uploads/683/squeak34-1600x1200.1.png sa inak nedá nazvať). Kde sa v tom IDE píše kód som ani nezistil. Skúsil som teda Pharo a vyzeralo to rovnako ako Squeak neviem si predstaviť ako sa v tom vyvíjajú aplikácie. Skúsil som teda kommerčné Visual Works to už vyzeralo profesionálnejšie ale stále som neziatil ako sa v tom píše kód. Vie mi niekto poradiť implementáciu smalltalku ktorá má IDE na úrovni NetBeans, Eclipse, alebo VS? Nič také ako image, ale normálne zdrojové súbory a knižnice? A podľa možnosti nech vto vygeneruje spustiteľný súbor a nech aplikácia vyzerá ako natívna systémová aplikácia.
« Poslední změna: 13. 06. 2011, 12:17:32 od Petr Krčmář »


tukan

Re: Smalltalk
« Odpověď #1 kdy: 12. 06. 2011, 16:49:51 »
Ahoj,
jestli sis vybral smalltalk, je dulezite se taky trochu prizpusobit jeho filozofii.  "Nejlepsi" (vse je relativni) nabizi Cincom smalltalk alas Visual Works.  Dalsi uspesna je napr. SmalltalkX.

Doporucil bych  na seznanameni se smalltalk(em) Visual Works (vse je objekt a hura do toho). 

Tady jsou uzitecne knihy co by mohly pomoci pri zacatcich i dale:
http://live.exept.de/doc/books/JoyOfST/JoyOfST.pdf
http://devnet.objectivity.com/files/docs/objy_docs/latest/smalltalk.pdf

Drzim palce a chce si to trochu rozsirit obzory ;)

tukan

OK-WLF

Re: Smalltalk
« Odpověď #2 kdy: 12. 06. 2011, 16:54:41 »
Nevim jestli uspejete, protoze IMHO smalltalk IDE jako takove nema, sam smalltalkovy system je v podstate IDE. Je to jiny styl vyvoje - proste menite image, pridavate do nej classy atd. pak vyexportujete a priplacnete vyexportovane k nejakemu runtime-image.
Treba kdyz jsem pred lety delal neco v Seaside (web framework), tak jsem to vyvijel ve Squeaku, testoval tamtez a kdyz jsem byl spokojeny, tak jsem celou tu aplikaci vyexportoval a pripnacnul ke GNU smalltalk image, ktery byl silne orezany pouze na jazyk a Seaside. Ten "serverovy image" pak bezel primo na serveru.
S grafickymi aplikacemi zkusenosti nemam, ale principialne to je stejne. Zkuste pohledat na smalltalk.org, tusim tam nejake odkazy najdete...

Honza

Re: Smalltalk
« Odpověď #3 kdy: 12. 06. 2011, 18:09:15 »
Vie mi niekto poradiť implementáciu smalltalku ktorá má IDE na úrovni NetBeans, Eclipse, alebo VS? Nič také ako image, ale normálne zdrojové súbory a knižnice? A podľa možnosti nech vto vygeneruje spustiteľný súbor a nech aplikácia vyzerá ako natívna systémová aplikácia.
Naopak, VS ani Netbeans se IDE co má Smalltalk, ani zdaleka úrovní neblíží...  :P (ale nic proti VS) Je pravda, že se kód píše trochu jinak, než jinde... Kompilovat EXE vůbec není třeba, hotová aplikace se potom může jednoduše spustit jak pod Linuxem, tak pod Windows nebo Mac a navíc se může nechat aktualizovat za běhu, což se jaksi jinde moc nedá...
Zmíněný SmalltalkX to ale např. umožňuje (kompiluje do nativního EXE), u VisualWorks to lze též...

Pavel Křivánek

Re: Smalltalk
« Odpověď #4 kdy: 12. 06. 2011, 20:30:43 »
Zkus Smalltalk/X. Je hodně prakticky orientovaný. Nicméně architektura Smalltalku založená na image je jeho výraznou předností a umožňuje vytvořit plnohodnotné IDE s minimálními prostředky (např. jedna image Smalltalku Cuis odvozeného od Squeaku má s celým smalltalkovským IDE velikost pod 2MB).

Je to jako chtít si koupit letadlo s tím, že chceš, aby mělo volant, řadící páku a pedály jako běžný automobil.


Viky

Re: Smalltalk
« Odpověď #5 kdy: 12. 06. 2011, 21:59:55 »
1. Jak už tu bylo řečeno, IDE, na něž se odvoláváš, jsou asi tak o jednu až dvě generace pozadu za Smalltalkem. Kód se dá napsat prakticky kamkoli, kde se dá psát. Ale obvykle asi budeš přidávat nové třídy a do nich nové metody, což se dá dělat např. v System Browseru.
2. Pořiď si nějakou knížku, snad to nechceš vykoukávat pokusem a omylem. Doporučuji Squeak by Examples (volně ke stažení jako pdf). Vývoj ve Smalltalku je natolik odlišný od všeho, co znáš, že se budeš cítit ze začátku trochu zmatený, pokud nebudeš mít nějakou učebnici. Ale výhody začneš pociťovat po pár dnech, jakmile pochopíš celou logiku toho všeho.
3. Squeak je pro začátek dobrý, klidně u něj zůstaň.

Anonymous

Re: Smalltalk
« Odpověď #6 kdy: 12. 06. 2011, 22:14:59 »
Má nejaký praktický zmysel učiť sa Smalltalk? Mám namysli praktické použitie v nejakých firmách resp. sú nejaké pracovné miesta, kde sa dá znalosť Smalltalku zúžitkovať. Alebo je vhodný skôr len ako hobby na naučenie sa niečoho zaujímavého a iného pohľadu na tvorbu softwaru?

Viky

Re: Smalltalk
« Odpověď #7 kdy: 13. 06. 2011, 01:41:28 »
Má nejaký praktický zmysel učiť sa Smalltalk? Mám namysli praktické použitie v nejakých firmách resp. sú nejaké pracovné miesta, kde sa dá znalosť Smalltalku zúžitkovať. Alebo je vhodný skôr len ako hobby na naučenie sa niečoho zaujímavého a iného pohľadu na tvorbu softwaru?

Na západ od nás se používá a není tomu tak dávno, co mi známý říkal, že kdosi dost obtížně sháněl nějakého zkušeného smalltalkistu a nabízel plat, který javistovi těžko někdo nabídne.
Podle mě vůbec není od věci kromě nějaké rozšířené technologie dobře znát ještě něco exotičtějšího. Protože pokud člověk najde uplatnění s tím exotičtějším, může s jistotou počítat s tím, že bude oceněn lépe než s tou rozšířenou.
No a nakonec mě docela překvapuje ta pasivita mnoha lidí - něco se naučím a budu čekat, kdo mě zaměstná. Ale přitom člověk může dělat svůj business a použít technologii, kterou zná a přijde mu příhodná - třeba zrovna ten Smalltalk. Docela nechápu tu stádolibost - "nauč se něco, co umí každý". Nebo je to lenost (hledat pracovní příležitosti), strach (z toho, že je nenajde/nedovede své znalosti prodat)...?
Ve Smalltalku se programuje příjemně, intuitivně, vysoce produktivně a krom toho zde taky člověk získává dobré objektové návyky, aplikovatelné i v jiných technologiích. Myslím, že se Smalltalkem člověk vedle nešlápne a čas mu věnovaný rozhodně není ztracený.
Něco podobného o nevelkém praktickém smyslu lidé říkali známému, co se učil Objective C - prostě se mu ten jazyk líbil. A jak se začaly objevovat ve větší míře applí přístroje, hned své znalosti zúročil - a kde jsou dnes ti lidé, co se na to dívali s despektem, a kde je on...

squatter

Re: Smalltalk
« Odpověď #8 kdy: 13. 06. 2011, 10:51:52 »
Podle mého názoru by se všichni programátoři měli nejprve naučit programovat ve Smalltalku a pak by je teprve měli pustit k jiným jazykům. Jinak totiž velká část z nich pravěpodobně nikdy nepřekročí určitou hranici poznání, která se jim navíc místo toho začne vzdalovat a tudíž pro ně bude stále těžší jí najít. Nicméně, ne všchni třeba touží po tom dosáhnout softwarového osvícení... = ))

zacha

Re: Smalltalk
« Odpověď #9 kdy: 13. 06. 2011, 11:43:17 »
Squatter zase provokuje, pokud je mi známo, tak vyvíjíš v jazyce Java a o Smalltalku spíše filosofuješ,
ale nic proti :-)

Co se týče těch omalovánek, tak squeak si můžeš překopat k obrazu svému, asi to bude znít
blbě, ale nedoporučoval bych příliš squeak z oficiálních stránek. Spíše si zajdi na stránky seasidu
a tam si stáhni image Phara (víceméně je to taková odnož squeaku, ale konkrétně tato image
je odladěnější a více přívětivá než ta squeakovská základní). Nicméně styl programování ve Smalltalku
je odlišnější než na jaký si patrně zvyklý (osobně mi přijde více čistší, přehlednější).
Co se GUI týče, tak Smalltalk/X poskytuje GUI Painter, stejně tak Visual Work (zdarma pro nekomerční využití)

ava

Re: Pořádné IDE pro Smalltalk
« Odpověď #10 kdy: 13. 06. 2011, 16:09:02 »
Pokud by ti nevadilo programování pod Windows, za zkoušku určitě stojí Dolphin Smalltalk, má nativní widgety a je celkově hodně user-friendly. VisualWorks jsou dobrá volba, ale pro komerční projekty jsou nechutně drahý, a jejich GUI Painter sice funguje, ale je na něm hodně znát jeho stáří (některé části až třicet let, řekl bych :). Smalltalk/X je v něčem lepší, v něčem horší než VW, především má horší dokumentaci a štve mě na něm, že debugger označí jen debugovanou řádku a ne přímo výraz jako třeba VW nebo Squeak, ale použitelný rozhodně je.

Podtrženo sečteno:

Pokud děláš desktop aplikaci pro Win, jdi do Dolphin, i pro komerční použití vychází vcelku levně.

Pokud děláš nekomerční aplikaci pro něco jiného, asi VW NC, případně X, pro komerční X pokud se ti nechce zbytečně utrácet.

Pokud si chceš rozšířit obzory, ještě lepší než smalltalk je podle mě newspeak, http://newspeaklanguage.org/ . Blbý je že běží jako squeak v jednom okně, ale pro win už myslím mají (aspoň částečně) bindingy na nativní okna a možná i nějaké widgety.

Každopádně situace s moderními smalltalky je tristní, a je to škoda..