Non
si confondano coloro che in buona fede sosterrebbero
a questo punto la tesi secondo la quale del BASIC
ne esiste una implementazione in linea con i tempi,
quel tal Visual Basic opera di Microsoft, che ancora
aiuta in mille campi. Si tratta di un linguaggio diverso
che al piu' conserva qualche barlume dell'antenato
nella sintassi, nell'impostazione typed-lite e poco
altro.
Cosi' del Pascal sopravvivono due filoni: il famosissimo
Delphi della Borland e il meno noto al grande pubblico
Object Pascal, una interpretazione in chiave moderna
usata ad esempio nei tool del sistema operativo MAC
OS X della Apple.
Imparare il Pascal, ricordo, e' stato per il sottoscritto,
come credo per molti altri, un rito di passaggio:
si passava dal Basic, giocoforza imparato in quanto
unico idioma dato a corredo delle macchine home dell'epoca,
ad un linguaggio vero con compilatore e tutte le cose
a posto. Che emozione il lancio del UCSD sull'Apple
II! E quante ore nel laboratorio di calcolo della
facoltà di matematica dove mi intruffolavo
spesso e volentieri (io studiavo fisica, ma solo i
matematici potevano permettersi i lussuosi Apple,
i fisici dovevano smanettare sul PDP-11 e poi sul
Vax o su qualche workstation HP, certo piu' potenti,
ma volete mettere il fascino del calcolatore personale?)
Così fui praticamente obbligato dal docente
"titolare" del laboratorio, ad iscrivermi
a TAMC (Teoria e Applicazione delle Macchine Calcolatrici),
pena l'esclusione dalla sala "giochi" per
gli anni a venire.
Già...TAMC, chissa' se esiste ancora un corso
con questo assurdo nome. Li pero' ho imparato che
programmare non era una questione di mera tecnica
ma c'entravano concetti logici molto sottili e che
si poteva rigorosamente dimostrare la correttezza
di un programma, a colpi di teoremi, cosa che per
la complessità nessuno si sognerebbe mai di
fare in pratica.
Il Pascal, con quel suo vezzo di scrivere l'assegnazione
con la combinazione ":=" piuttosto che con
il semplice "=", è stato un grande
linguaggio di programmazione; derivato da altri linguaggi
come ALGOR e PL/1, ha lasciato dietro di se, oltre
alle due implementazioni precedentemente citate, anche
ADA, la cui poca fortuna e' un'altro esempio di come
le cose buone in informatica sono spesso destinate
al dimenticatoio.
Quali
le cose buone, oltre alla sintassi perfetta per l'insegnamento?
Prima di tutto la pre-compilazione: Pascal è
normalmente un linguaggio pre-compilato in una sorta
di codice intermedio chiamato P-code. Questa sigla,
che evidentemente sta per Pascal-code, viene usata
tutt'oggi per indicare l'utilizzo di questa idea tecnologica.
Java che è attualmente sulla cresta dell'onda,
ha fatto propri i risultati del Pascal e li ha portati
al suo massimo sviluppo; ebbene, su alcuni testi dedicati
a Java si trova ancora il termine P-code ad indicare
il codice intermedio. Il fatto di avere una pre-compilazione
ha permesso lo sviluppo di compilatori per le piattaforme
in uso negli anni '80/90.Altra cosa sicuramente buona
e giusta è la codifica della sintassi molto
rigorosa che giunge fino alla definizione dei codici
di errore, opportumente progettati per lasciare spazio
alle implementazioni proprietarie. Quest'ultima idea
è stata ereditata dal COBOL, altro "mattone"
fondamentale dell'informatica.
Di
meno buono c'e' una certa prolissità dei sorgenti,
avulsa dalle moderne pratiche informatiche, e probabilmente
una certa rigidità delle procedure di I/O.
La
monografia, edita dal Gruppo Editoriale Jackson, è
l'edizione italiana del manuale ufficiale, scritto
in collaborazione con lo stesso Wirth. Si tratta di
una pubblicazione abbastanza anomala per il mercato
italiano, dove sono sempre andate per la maggiore
le pubblicazioni in stile "ti insegno passo passo
come si fa...". Qui non c'e' nulla di simile:
una presentazione rigorosa, oserei dire "accademica"
della sintassi del linguaggio, compresa l'assurda
sintassi Backus-Naur (chi non sa di cosa sto parlando
non ha perso nulla...), sciorinata definizione dopo
definizione. Non manca, come si diceva prima, la puntuale
esposizione degli errori e una stringata ma essenziale
appendice F con esempi di programmazione classici
quali il calcolo del minimo comun divisore, l'ultra-classico
Sieve of Erathostene e la torre di Hanoi.
Un
classico che non puo' mancare nella libreria di un
appassionato di linguaggi di programmazione.
Ad
Excelsior.
sonicher - webriviste.com
|