Algol 68 Genie

Una delle credenze diffuse nella geekosfera (o nerdosfera) e che Algol, linguaggio di programmazione antenato del Pascal (e quindi di Delphi) sia estinto da tempo immemorabile. Io avevo chiamato così una partizione del defunto hard disk, il papà della moglie di un mio amico mi aveva raccontato aneddoti e pettegolezzi ma non avevo mai pensato di vederlo un giorno. Come il celacanto. Ma nè il celacanto nè Algol sono estinti.

E quelli che ci sono prima o poi saltano fuori, Big Foot, pantere nere, procioni fosforescenti e quant’altro 8)

La notizia di Algol l’ho trovata serendipitosamente su Wikipedia occupandomi di Genie, il fratello di Vala.
E sì perché quella pagina inizia proprio con

Not to be confused with Genie ALGOL 68G.

Da fiondarsi prima di subito. Ecco c’è tutto lì.
Presto si finisce sulla pagina di Marcel van der Veer, autore di Algol 68 Genie. La pagina di Marcel è esemplare nella sua concretezza. C’è anche la sua tesi di dottorato, sicuramente interessante e incomprensibile. Io però ho scaricato il PDF del manuale Learning Algol 68 Genie, 706 pagine con tutto dentro.

No, non l’ho studiato a fondo come meriterebbe, alcune parti le ho saltate (e chissà cosa mi sono perso!), in fondo il mio è un interesse storico/archeologico.

Avendo tempo… Ne riporto un pezzettino:

The development of Algol was an international platform for discussing programming languages, compiler – and program construction, et cetera, and stimulated computer science as an academic discipline in its own right. The preservation of Algol 68 is important from both an educational as well as a scientific-historical point of view. Algol 68 has been around for four decades, but some who rediscovered it in recent years, well aware of how the world has moved on, had a feeling best described as plus ça change, plus c’est la même chose.
A more or less comprehensive list of reasons for the continuing interest in Algol 68 {and preservation of the language} would be:

  • Importance to the history of science […];
    Academic interest […];
    Practical interest […].

A p.21 “A brief history of programming languages” è da leggere attentamente –poi interrogo, sapevatelo ;-)

L’installazione è semplice: scaricare http://jmvdveer.home.xs4all.nl/algol68g-2.2.0.tgz, aprirlo, scompattarlo e andare nella directory algol68g-2.2.0; c’è il file INSTALL che dice cosa fare, essenzialmente ./configure, make e testarlo con

poi si può spostare il file a68g in ~/bin in modo da poterlo lanciare da qualsiasi directory senza bisogno di dirgli dov’è.

Vediamo un paio di esempi, per prendere confidenza…

A p.35 c’è lo script per il calcolo di π con 1000 cifre

A p.45 c’è il classico “Hello World!”. Qui salta fuori una prima sorpresa: il programma si può scrivere
(print("Hello World!"))
o, più canonicamente
BEGIN print("Hello World!") END
in ogni caso si ottiene

A p.213 c’è un esempio di script più articolato con un ciclo, dove si possono notare alcune peculiarità del linguaggio

#!/home/juhan/bin/a68g --script #

FOR i TO argc
DO printf(($lg(0)x""""g""""$, i, argv(i)))
OD


Allora Algol è questo. Ci si trova dentro l’origine di cose che poi sono diventate normali mischiate a altre poi abbandonate, semplificate. Il gergo è diverso da quello usuale, per esempio a p.137 si parla di transput, file e book.

Boh! (Duh!, direbbe Homer), agosto finisce oggi, dal prossimo post cose più attuali, forse 8)

About these ads
Post a comment or leave a trackback: Trackback URL.

Trackbacks

  • By Hacker, geek, linguaggi « Ok, panico on 6 settembre 2011 at 12:58

    […] Fraans usava Algol, all’università. Ecco Algol io credevo fosse un fossile, poi ho trovato Algol68 Genie. Anche Fraans dice che Algol è ancora vivo, anche se il suo link porta a una Seite nicht […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 82 follower

%d blogger cliccano Mi Piace per questo: