|
Il Punto Dr.
Dobb's Journal "Programming Languages"
Febbraio 2002
|
Qual'e'
lo stato dell'arte per quanto riguarda i linguaggi di
programmazione e quali prospettive future si prospettano
all'orizzonte? La rivista Dr Dobb's, vera autorità
in materia, riunisce annualmente attorno ad un tavolo
i maggiori esperti del MIT per discutere di ciò.
Le conclusioni sono sempre interessanti anche se spesso,
come succede anche in altri campi, quello che veramente
viene poi utilizzato e' solo in minima parte il prodotto
del lavoro di tanta innovazione. Comunque la curiosità
rimane e visto il periodo di carnevale ci si puo' anche
scherzare un po' su!
Come tutti gli appassionati di programmazione sanno
i linguaggi di programmazione per computer, e specificatamente
per la piattaforma PC, sono moltissimi. Tanto per fare
una stima, non troppo azzardata, direi che contando
tutte le varianti si puo' arrivare ad una cifra prossima
al valore 1000.
|

Numero 333
Febbraio 2002 Inglese
|
Forse
esagero ma pensate a quante varianti del solo Basic esistono
e una semplice ricerca in Internet permette di azzardare tale
stima: la categoria "Programming languages" di Yahoo
ne elenca un centinaio.
Possibile
che siano necessari tanti idiomi programmativi per "cavarci
qualcosa di buono da 'sto pezzo di ferraglia"? Ovviamente
le motivazioni che spingono le persone a creare un nuovo linguaggio
di programmazione sono molte ma principalmente quella che fa
scattare la molla è che i linguaggi esistenti non soddisfano
del tutto l'utilizzatore in quel particolare campo di applicazione.
Si aggiunga poi la ormai consolidata e matura teoria sulla costruzione
dei compilatori e i tools di analisi sintattica pre-confezionati
(a cominciare dal vecchio yacc) oltre alla presenza di documentazione,
monografie ed articoli su riviste specializzate. Qualsiasi bravo
programmatore puo' inventare il proprio linguaggio, il difficile
è poi la divulgazione e il farlo accettare da altri.
La strada comunque in questi ultimi anni è sempre la
stessa: Internet, Internet e ancora Internet. La grande rete
ha fatto la fortuna del Perl prima, del Python poi e di Ruby
ora, ma certamente ne vedremo ancora di belle!
Comunque si possono individuare tre principi ai quali tutti
i nuovi linguaggi si ispirano, che sono: programmazione object
oriented, sintassi simile al C, interpreti o compilatori just
in time. Alla fine tutti tendono ad assomigliarsi e per giunta
è facile che siano trasportati su una vasta gamma di
piattaforme, per cui la scelta è veramente solo una questione
di simpatia o opportunità. Quello che è sorprendente
è che ormai nessuno si preoccupa di compilare il codice
e il perché è presto detto: l'hardware attuale
rende praticamente inutile questa pratica.
Prima
di tutto lo stato dell'arte. Attualmente i linguaggi che vanno
per la maggiore sono C, C++, Java, Perl, Python, Visual Basic.
Ma anche il sempreverde Fortran (c'e' lo standard 2000) e il
mai morto COBOL se la cavano egregiamente. Qualche incertezza
sul futuro del Pascal, ormai rilegato ai prodotti Borland (Delphi
e Kylix), non tanto per la scarsa qualità del linguaggio
(che tutti riconoscono ottimo), quanto per la scarsa capacità
di attrarre le nuove generazioni di programmatori. Sembra infatti
che nella maggior parte dei casi gli sia preferito il Visual
Basic che puo' godere di uno sponsor senza limiti di budget!
Ora
la Microsoft, con l'uscita della piattaforma .NET sta imponendo
il C# (C sharp) come alternativa a Java (che sappiamo non puo'
soffrire!), ma è ancora presto per dire se la comunità
degli sviluppatori si lascerà convincere (dipende da
numerosi fattori, non tutti prevedibili allo stato attuale).
Che
altro? La rivista presenta tre interessanti novità: i
linguaggi D, Mondrian e Skill.
D
è, come era facile intuire, "tutto quello che dovrebbe
essere il C". Il risultato è un C con capacita'
oop, garbage collector automatico ed estensioni rivolte allo
sviluppo. Gli autori infatti si sono chiesti cosa sarebbe stato
meglio implementare per favorire l'attivita' dei programmatori
e da queste domande sono nate estensioni specifiche del D rivolte
appunto al ciclo di sviluppo del software. L'idea non e' nuova
ma mai prima d'ora le caratteristiche di debug erano state implementate
direttamente nel linguaggio stesso. La teoria che ci stà
sotto deriva dal paradigma di programmazione "Design by
Contract", la cui unica implementazione decente è
il linguaggio Eiffel. Solo che con Eiffel ottieni un codice
C da compilare, mentre con D rimane tutto dentro il sorgente
(spero di essermi spiegato!).
Mondrian
è un interprete scritto esplicitamente per la piattaforma
.NET e quindi adatto a costruire le pagine .asp e si propone
come "grande integratore" di script per la piattaforma
di sviluppo web di Microsoft. E' evidente che per apprezzare
le doti bisognerà essere dentro lo sviluppo nel framework
.NET, cosa che il sottoscritto finora non ha ancora fatto.
Infine
Skill è una rivisitazione del LISP, quindi un linguaggio
funzionale puro con tutte le estensioni del caso (oop, etc...).
L'articolo presente sulla rivista mostra come integrarlo con
TCL/TK per ottenerne quancosa di user-friendly. Sinceramente
credo che tale approccio sia destinato a poca diffusione.
Il
numero monografico di DrDobb's elenca anche una serie di altri
linguaggi di minore importanza, se cosi' vogliamo definirli.
Ad esempio c'è tutto un mondo che gira attorno ai linguaggi
per i sistemi embedding, tipo BOB, un linguaggio specifico per
i lettori DVD che ha evidentemente le estensioni necessarie
a manipolare i formati digitali Mpeg o altro.
Quale
linguaggio di programmazione useremo in futuro? Chi lo sa! Personalmente
sono del parere che, come si diceva una volta per il francese:
-"C e giri tutto il mondo"!
Ad
excelsior.
sonicher
|
| |
|
|