Osobne si myslim, ze Forth odsoudily do ustrani jeste dalsi duvody. Puvodni navrh Forthu byl sestnactibitovy. Ne, ze by Forth neumel pracovat s vetsimi cisly, ale prace s tzv. cisly v dvojnasobne presnosti uz byla krapet komplikovanejsi. Druhym duvodem bylo to, ze Forth puvodne nedokazal pracovat s realnymi cisly. Opet to nemusel byt zas az tak velky problem, ve Forthu jde "doprogramovat" doopravdy vse. Ale ve srovnani i s tim nejobycejnejsim BASICem to byl docela citelny nedostatek (navic neexistoval delsi dobu standard pro praci s desetinnymi cisly). No a posledni (trochu obskurni duvod) neoblibenosti Forthu u nas - tesne pred padem totality byl programovaci jazyk Forth jmenovan zakladnim vyvojarskym jazykem v ramci RVHP (coz byl takovy tichy naznak pro nasince - Forth je urcite nafik, ucme se Ccko;-)). Posledni duvod mel i sve svetle stranky - Rusko je dodnes zemi s nejvetsim poctem forthovskych programatoru na svete a s nejzivejsi komunitou, viz http://www.forth.org.ru :-)
Vydite, s tim Forthem a RVHP jsem to nevedel :-) V te dobe (okolo '89) jsem vesele a zcela proti vuli ministerstva skolstvi (nebo kdo propagoval IQcka, Ondry a podobne shity s ukradenym procesorem) programoval v Basicu a assembleru na osmibitovem Atarku :-)
Ale s temi formaty cisel mate naprostou pravdu. Forth je v tomto docela rigidni a napriklad operace + ma jasne a jednoznacne definovane operandy i vysledky, neco jako pretezovani operatoru tam neexistuje (to maji skryte prakticky vsechny ostatni typove jazyky).
Málem bych zapomněl - chtěl jsem vám pochválit váš seriál, protože (opět) patří k tomu nejlepšímu a nejfundovanějšímu, co lze v současnosti na root.cz nalézt. Předpokládám, že učíte na VŠ, a jestli vaše přednášky vypadají jen z poloviny tak kvalitně jako tento seriál, tak vašim studentům nelze než závidět:-)
Ještě mě napadlo, že nebyl explicitně zmíněn další forthovský problém - tolik dialektů jako Forth neměl blahé paměti ani BASIC na osmibitech;-) Vždyť jen standardy jsou tři až čtyři (FigForth, Forth 83, ANS Forth, Color Forth) a chystá se další (Forth200x).
To je fakt?
U nás dost propagovali Forth v 602. ZO Svazarmu (jo, tam co vymysleli Text 602 a pak se trhli jako Software 602) jako vhodný jazyk pro různé bastly co vycházely v AR "Postavte si počítač" což bylo míněno ne jako sestavte, ale tady jsou tišťáky, 8086 plus podpůrné obvody, odpory, kondíky... Já ho tenkrát chápal jako východisko z nouze právě pro takové domorobo bez diskety (natož disku) a s obyčeným kazeťákem jako vnější pamětí.
Když jsem se dostal k něčemu normálnímu, s chutí jsem se na ty DUP vykašlal. Rozhodně si rád počtu něco, co mi připomene mládí a možná změním názor. Nakonec na řízení je určitě výborný.
Myslíte s tím RVHP? Na to můžete vzít jed. Pokud by měl někdo eminentní zájem, můžu to dohledat ve svých starých Forthovských materiálech (tuším o tom psali nejen v onom seríálu v AR, ale bezpečně i v jedné speciální příručce k PMD85-1, která nebyla běžně k dispozici a vyšla snad jen v několika málo desítkách kusů (standardní kvalita, socialistický cyklostyl;-)))
Jinak 602 ZO Svazarmu mi ani nepřipomínejte, grr... Kdysi jsem jim shodou okolností napsal dotaz, zda bych si od nich nemohl jejich Forth pro PMD koupit. Obratem mi zaslali přihlášku do Svazarmu. Zkusil jsem to s odstupem asi dvou let ještě jednou a co myslíte? :-((( Tak mám od té doby ve spojení s čímkoliv od 602 jaksi pachuť na patře...
No to víte, Svazarm byl Svazarm, byla to zájmová organizace a prodávat se tenkrát nesmělo, to byla spekulace a za to se chodilo natvrdo do báně. Jo - dát členovi po zaplacení příspěvků už jo.
To nevytýkejte té ZO. Dělali jen to, co jim režim dovolil a v mezích, které dovolil. A ve Svazarmu toho dovolil celkem dost. Z dnešního pohledu je to blbost, ale tenkrát se člověk něco nakroutil mezi paragrafy a stanovami a libostí a nelibostí těch kousek vejš. Když si vzpomenu, jaký "ideologicky správný" žvásty jsem produkoval, aby nám dovolili uspořádat koncert Pražskýho výběru nebo Vítkova kvarteta na centrkurtu na Štvanici...
Vždyť tenkrát musel být člověk ve Svazarmu v hifi klubu, aby si moh koupit lepší přenosku do gramofonu. Na druhou stranu si tam spousta kluků zadarmo nebo za lacino zaskákala padákem nebo si zalítali na větroních. Halt byla jiná doba a byly jiný hodnoty.
No jo, ale vysvetlujte tohle ani ne patnactiletemu klukovi (ktery proto, tusim, ani do Svazarmu vstoupit nemohl), jenz byl sveho casu totalne fascinovan konstrukcemi typu:
: ASCII-TAB
256 32 DO I EMIT LOOP ;
nebo
: HEXADECIMAL 16 BASE ! ;
(Doufam, ze to po tech letech pisu spravne;-)
No to skakanie s padarom a lietanie s vetronmi nebolo tak celkom zadarmo. (To sa tyka aj potapacov a podobnych cinnosti.) Bola to predvojnova priprava (zabavnou formou) vojakov na vojnu, ktora nastastie nenastala.
To stastie uz nemali parasutisti a plachtary z rokov okolo 1935 v ZSSR!
V dalsim pokracovani tohoto serialu se o tomto fenomenu taky zminim. Odsuzovani goto IMHO vzniklo ze spatneho pochopeni Dijkstrova clanku o (ne)strukturovanem programovani - "Go To Statement Considered Harmful" (najdete na Googlu).
Nam to alespon (o hrichu v pripade pouziti goto) vtloukali do hlavy jak na SS, tak i na VS. Ve skutecnosti vsak nezalezi na jazykovych konstrukcich, ale na pouziti. Strukturovane se da psat i pouze s "if" a "goto" (nebo na druhou stranu klidne bez jakykoliv smycek a podminek).
Spis jde o to, ze vetsina pouziti goto je dost prasacka, hlavne v Basicu aj. Cecko je na tom lip, tam jsou moznosti goto vcelku rozumne omezeny (uvnitr funkci, omezeni pro smycky apod.). Java pro vyskok z vnorenych ifu pouziva break s navestim, coz je jenom jinak nazvane a vice omezene goto :-)
Kdyz tehdy vychazel popis FORTH v Amaterskem Radiu, rozhodli jsme se se spoluzakem (Jirka Kopecky, treba to taky cte - ciao Jirko) tento jazyk implementovat. Meli jsme k dispozici computer TNS z JZD Slusovice - Ano i JZD vyrabelo pocitace - mimochodem velmi dobre!
Nemeli jsme k dispozici ani assembler, vsechno jsme psali primo v kodech Z80 - dodnes si je pamatuji skoro zpameti. Kernel byl velmi kratky, obsahoval jednoduchy textovy editor a command MACH, ktery mel jako parametry jmeno commandu a sekvenci hex cisel - vlastni kod tohoto commandu. Vsechny ostatni commandy uz byly definovany prave timto commandem. Jak postupne vychazel serial, pridavali jsme tam dalsi a dalsi funkce. Bohuzel si uz nepamatuju, jak to bylo cele dlouhe. Odhaduji tak 8kB. Skoda, ze derna paska s timto programem zmizela v propadlisti dejin. Mimochodem, psal se rok 1984.