Claudio Brotto

LinguaggioMania

Complice il solito malanno del venerdì sera (ci deve essere qualche legge dietro al fatto che ci si ammala sempre di venerdì - o all'inizio delle ferie), ieri mi sono freneticamente attaccato a Internet, seguendo un po' di link dalla home page di Wikipedia, con il proposito di imparare 100 linguaggi di programmazione in una sera.

Alla fine è stato tutto un clic di qua, segui quel link di là, e mi sono un po' perso nel mare della rete.

Ho letto diverse informazioni "storiche" che non conoscevo.

Per esempio, che il primo linguaggio di alto livello ad essere utilizzato al di là della didattica è stato il FORTRAN.

Tra l'altro, non so se è solo una caratteristica (un po' vetusta, per la verità) della facoltà di fisica di Genova, ma, almeno sino ad un paio di anni fa, il FORTRAN-77 veniva insegnato ed utilizzato nei corsi di base di Laboratorio.

Per far conti, che è poi quello che è richiesto per i programmi di laboratorio, è una buona scelta (FORTRAN sta per FORmula TRANslator, dicono che in campo matematico giochi in casa). Forse però ce la si cava anche col C, che dal punto di vista occupazione è sicuramente più ... curricolativo.

Il LISP e i suoi fratellini sono arrivati comunque di lì a poco, principalmente focalizzati all'utilizzo accademico.

Non avendo studiato la teoria dei linguaggi di programmazione (mio grande rammarico, dopo le letture di ieri), ed avendo quindi un tipo di formazione molto più pratico che filosofico-concettuale, non nego che è difficile slegarsi dalle abitudini.

Quando mancano le basi concettuali, si fa presto a credere che la caratteristica di UN linguaggio sia una caratteristica di TUTTI i linguaggi.

Non sto parlando di parentesi graffe o punti e virgola alla fine della riga, ma di approcci differenti, a livello molto più astratto, alla definizione dei problemi. Per esempio, ho trovato interessante questa dissertazione sulla differenza fra linguaggi funzionali (esempio: il LISP, appunto) e imperativi (esempio: il C).

Per me la differenza non esisteva fondamentalmente perchè conosco, più o meno in profondità, BASIC, C, VB, C#, due cosine due di Java e un vago ricordo di Pascal dalle superiori. E tutti ricadono nella seconda categoria.

Un'altra cosa che mi ha colpito è l'espressività e l'eleganza di alcuni linguaggi, almeno come la può percepire uno che "guarda" un listato senza conoscere nulla del linguaggio nel quale è scritto.

Due esempi su tutti: Eiffel e Haskell. Spero di avere tempo per approfondire entrambi.

Il mondo dei linguaggi di programmazione ha un certo fascino e una certa attrattiva, per me. Anche perchè dal confronto credo derivi una comprensione migliore dei concetti.

Quando senti parlare Anders Heijlsberg o Jim Miller (non mi ricordo, credo fosse qualche .NET Show o giù di lì) e senti dire che, al momento di definire C# e .NET in generale, hanno considerato le caratteristiche migliori di SmallTalk piuttosto che di Scheme, Simula, Pascal e Java, ti rendi conto che c'è un mondo dietro.

Ci vorrebbe solo quell'anno o due di ferie pagate per farci un giro dentro !

powered by IMHO 1.2

Posted: feb 26 2005, 01.03 by devlizard
Filed under: