Fortho kaj Esperanto — paralelaj mondoj?

Priskribo de la ĉi-paĝa enhavo

Pri la paraleco inter Esperanto kaj Fortho, historia, lingva kaj movada.

Etikedoj:

Sekvas artikolo kiun mi verkis en 1996 por la revuo Esperanto (numero 1089 de februaro 1997a, paĝo 30) de UEA, petite de ĝia tiama ĉefredaktoro István Ertl, kiu legintis antaŭan artikolon mian samteman kaj opinis la temon interesa.


Fortho estas komputila programlingvo. La aŭtoro de ĉi tiu artikolo lernis ĝin en 1985, kiam li aĝis 16, kaj Esperanton en 1988. Li ankoraŭ miras pro la multaj koincidoj inter ambaŭ mondoj. Se vi plu legas, eble ankaŭ vi miros.

Historio

La programlingvon Forth (Esperante: Fortho) kreis la usonano Charles Moore en la 60-aj jaroj. Tiam li estis juna programisto en la Nacia Radio-Astronomia Observejo. Li regis plurajn programlingvojn, sed malkontentis pri ilia efiko, precipe por kontrolo de aŭtomataj sistemoj.

Li neniam celis krei kompletan lingvon, sed nur iom post iom solvi la problemojn laŭ li nesolvitajn de la aliaj lingvoj kaj ties labormetodoj: malfacilo, malrapido kaj neflekseblo.

Post plurjara kaj soleca laborado, ĉ. 1969 li komencis profesie uzi sian proponon. Aliaj astronomiejoj usonaj baldaŭ interesiĝis, adoptis la lingvon — kaj la afero spontane ekdisvastiĝis.

Dekomence Moore volis resti simpla uzanto, por ke la lingvo evoluu nature, uzate de aliaj. Kurioze, la vera nomo de la lingvo estis Fourth (angle: kvara), ĉar la aŭtoro celis programilon por la kvara komputilgeneracio. Tamen, lia komputilo ne ebligis tiom longajn dosiernomojn, do li uzis la samsonan Forth (angle: antaŭen), kiu prokutime iĝis definitiva.

Moore kaj aliaj fondis en 1973 la entreprenon Forth Inc. por subteni kaj disvastigi la lingvon kaj verki forth-programojn. Pro la kreskanta uzantaro, en 1978 naskiĝis en Kalifornio, Usono, la asocio Forth Interest Group (Forth-Interesa Grupo, FIG), la plej grava en la forth-movado.

Ĉar efika, malmultekosta kaj facila, Fortho disvastiĝis rapide inter komputilemuloj. Tamen, meze de la 80aj jaroj personaj komputiloj rapide plipotenciĝis. La lingvo ne lerte adaptiĝis al la nova situacio kaj ĝia populareco malkreskis. Nun Fortho ekspertas revigliĝon.

Programlingvoj ĝenerale

Komputilo ne komprenas komputillingvojn. Ĝia procezilo komprenas nur elektrajn signalojn en ĝia memoro, t.e. maŝinkodo. Eblas programi komputilon senpere en maŝinkodo aŭ prefere uzante mnemonikan lingvokodon nomatan asemblo. Asemblo estas do post maŝinkodo la plej malaltnivela programlingvo — des pli altnivela ju pli simila al homa lingvo; ju pli malaltnivela, des pli potenca sed malfacila.

Ĉiam necesas traduki programlingvon en maŝinkodon. Analoge al homaj lingvoj, eblas du vojoj: interpretado kaj tradukado. Tion faras respektive interpretiloj kaj kompililoj.

Interpretilo analizas, tradukas kaj funkciigas laŭvice ĉiun unuopan programinstrukcion. Avantaĝo estas tujo: oni tajpas instrukcion kaj tuj vidas rezulton. Tio faciligas programadon. Malavantaĝe, interpretataj programoj malrapidas kaj ne povas sendependi de sia interpretilo.

Kompililo unue analizas kaj tradukas la tutan programon kaj poste disponigas la rezulton por sendependa funkciigo. Avantaĝo estas, ke kompilita programo funkcias ege pli rapide. Malavantaĝe, ŝanĝoj kaj korektoj ĉiam postulas almenaŭ partan rekompiladon, kio malrapidigas programadon.

Fortho, lingve

Dum aliaj lingvoj estas plenaj de gramatikaj reguloj kaj esceptoj, kun multaj plursignifaj simboloj, forth-gramatiko estas plej simpla: nura interpunkcio en linio estas spaceto. Ĉio cetera estas "vortoj". Do vorto en Fortho povas esti ĉia senspaceta singnoĉeno: mia_kalkulo1997tri=3;-D¿Ajn!. La sistemo havas vortaron, t.e., listo de vortoj kun difinoj. La difino diras, kion la vorto faru kiam vokita. En tiu vortaro programisto povas ŝanĝi, forigi, reverki aŭ aldoni senlime kion ajn por krei programon aŭ propran Forth-sistemon.

Forth-sistemo estas mirinde simpla: ĝi atendas vorton (tajpita per klavaro aŭ legita el dosiero), poste serĉas ĝin en sia vortaro, fine agas laŭ la vortdifino — kaj ree senfine. Se vorto ne estas trovita en la vortaro, Fortho unue provas, ĉu ĝi estas nombro. Se jes, ĝi metas ĝin en portempa memorzono nomita stako; se ne, okazas eraro, ĉar ĝi povas nenion plu fari.

Ni vidu ekzemple, kiel oni petas de Fortho sumi la nombrojn 34 kaj 7:

34 7 + .

La klarigo estas simpla: 34 unue kaj 7 poste, ambaŭ iras sur la stakon, ĉar Fortho ne trovas ilin en sia vortaro, sed rekonas ilin nombroj. Poste venas la vorto + (plus), kiu estas en la vortaro: laŭ ĝia difino, ĝi devas preni la du suprajn nombrojn el la stako, adicii ilin kaj meti la sumon sur la stakon; fine venas la vorto . (jes, punkto!), kiu laŭdifine prenas la supran nombron el la stako kaj printas ĝin surekrane. Se 347 estus nomoj de vortoj kreitaj de programisto, Fortho rekonus kaj funkciigus ilin.

Ni kreu nun novan vorton por kalkuli sendokoston de libroj (dire, 10 centonoj sed minimume 5 guldenoj), adicii ĝin al librokosto kaj printi la sumon:

: +sendokosto dup 100 / 10 * 5 max + . ;

La vorto : (dupunkto) ŝanĝas Forthon en tradukadon, kaj ankaŭ prenas la postan signoĉenon kiel nomon por la nova vorto. Tradukado signifas ne funkciigi la venontajn vortojn, sed konservi ilin kiel difinon de la kreata vorto. La postaj 9 vortoj de dup ĝis . estas la vortdifino de +sendokosto, t.e., la vortoj aŭ nombroj kiuj funkcios kiam ni vokos poste la novan vorton. Fine la vorto ; (punktokomo) reŝanĝas la sistemon en interpretadon. Ekde nun, la vorto +sendokosto estas en la vortaro kaj je nia dispono. Tajpinte 100 +sendokosto ni vidas 105 surekrane. Kompilitaj vortoj funkcias preskaŭ je maŝinkoda rapido, kaj havas en la sistemo saman kategorion ol jamaj, eĉ «fundamentaj» — tiuj verkitaj de la forth-aŭtoro!

Iuj komputilistoj diras, ke Fortho estas nelegebla kaĉo. Vere, ĝi ne celas unuavidan kompreneblon sen antaŭstudo, sed facilan lernadon kaj bonan regadon. Tial ĝi havas intuan, flekseblan kaj senesceptan strukturon.

Fortho faciligas postan lernadon de aliaj lingvoj, ĉar instruas ĝeneralajn konceptojn, nerekte atingeblajn alilingve. Krome, ĉar ebligas senlimajn kreivon kaj liberecon, ĝi estas lertamplifilo: ĉe bona programisto, Fortho ebligas bonegajn verkojn; ĉe malbona — monstraĵojn.

Internaj ideoj

Fortho baziĝas sur la ideo teni ĉion simpla. Simpleco ne nepre signifas primitivecon. Male, por Moore simpleco signifas efikecon kaj do produktivon. Jen liaj propraj vortoj el prelego okaze de la dekjariĝo de Fortho:

Mi nur celis esti pli produktiva programisto. Antaŭ ol la afero komenciĝis, mi kredis ke en 40 jaroj mi povus verki 40 programojn (...) Mi pensas ke mi dekobligis tiun limon, kaj ke ĝi ne plu dependas de programlingvo, do mi atingis mian celon. Mi nun havas ilon kiu tre efikas en miaj manoj, kaj ŝajne ankaŭ en aliies. Mi feliĉas kaj fieras pro tio.

Fortho estas ekstremuma koncepto — unuj amas ĝin kaj aliaj malamas ĝin. Laŭ vortoj de Moore: Se oni volas ekigi diskuton ĉe komputilistoj, simple diru: Fortho estas bonega lingvo, ĉu ne?.

Uzantoj de aliaj programlingvoj ne sentas sin apartenantaj al lingvokomunumo, dum forth-uzantoj ja sentas sin anoj de la forth-komunumo. Unua kialo estas la movado: apenaŭ eblas profiti la lingvon izolite, pro manko de merkata populareco. Dua kialo estas la lingva demokratio: ĉiu rajtas proponi alternativojn al kiu ajn ero aŭ eco de la lingvo, kaj, se ĝi estas bona, ĝi estos spontane uzata de aliaj. La lingvo mem ebligas tion kaj la forth-komunumo invitas al tio. Eble jen la vera kialo, ke Fortho pluvivis kaj evoluis sen ekstera helpo: En la forth-mondo, ĉiam eblas al ordinara lingvouzanto grave kontribui al la lingvo. Tio estas neimagebla pri aliaj programlingvoj. Sed tiu ĉi eksterordinara eco estas ankaŭ malfortaĵo: multaj forth-hobiuloj dediĉas sin al "pliboniga" reverkado de Fortho anstataŭ bona verkado en Fortho...

Nuno kaj futuro de Fortho

Ne estas facile trovi librojn pri Fortho. Demandite, librovendistoj respondas: Iam estis pri tio, sed neniu plu petas; aŭ eĉ: Furz? Kio estas tio?.

Komputikaj entreprenoj uzas precipe la lingvon C, pri kiu troveblas abundo en la merkato. Nur malmultaj entreprenoj uzas Forthon, precipe pri robotiko kaj aŭtomatigo, ofte ĉar responsulo estas forth-aktivulo kaj konas la avantaĝojn.

Por la malmultaj programemuloj kiuj aŭdis pri ĝi (sed plejofte neniam eklernis ĝin) Fortho estas kuriozaĵo kiun eblas simpatieti, sed neutila ĉar neuzata. Kurioze, en la reto estas estas plej facile atingi senpagajn forth-sistemojn por preskaŭ ĉia komputilo.

FIG aktivadas, eldonas dumonatan bultenon, tenas libroservon, kunordigas lokajn asociojn, organizas renkontiĝojn, ktp. Plu aperas novaj libroj kaj forth-sistemoj. Bedaŭrinde, inter 1988 kaj 1995 la tutmonda FIG-anaro faladis de 4 000 ĝis 2 000.

Evidentas ke Fortho ne iĝos pli populara facile. Tamen ne eblas timi ĝian morton, ĉar ĝiaj ecoj estas eksterordinaraj. Ĝi plu estos lingvo por postulema kaj idealisma minoritato.

Tre esperige estas ke, post plurjara debatado kaj strebado de la forth-movado, naskiĝis nova forth-normo, ANS Forth, celanta ebligi novajn forth-programojn funkcii apenaŭ senŝanĝe en ĉiaj plej modernaj komputiloj kaj mastrumaj sistemoj.

Dume, Charles Moore, ĉiam skeptika je ajna normigo, iras sian vojon kiel ordinara forth-programisto, disfoje partoprenante en la movado. En sia propra entrepreno Computer Cowboys (komputilaj vakeroj), li nun dezajnas potencegajn procezilojn — kompreneble sub lia ĉiama devizo: Tenu ĝin simpla!.

Rilataj paĝoj

Forth kaj Esperanto — paralelaj mondoj?
Pri iuj similaĵoj inter la homa lingvo Esperanto kaj la komputila lingvo Forth.