Così scriveva Fred P. Brooks, autorevole esperto di informatica, nel suo best seller The Mythical Man-Month. Questo libro del 1975 è ancora considerato una pietra miliare del project management e dell'ingegneria del software, frutto dell'esperienza dell'autore nello sviluppo del sistema operativo OS/360. Tradotto:
Non c'è una soluzione per tutto.
Vale per molti aspetti dello sviluppo software, inclusi i linguaggi di programmazione. Quindi perché discuterne, se già in partenza non c'è un linguaggio migliore in assoluto?
Perché ci sono alcune caratteristiche dei linguaggi che ritengo conveniente approfondire, con l'obiettivo di dare indicazioni utili, senza alcuna pretesa di trattare l'argomento in modo esaustivo.
Il mondo informatico è andato ampliandosi nel tempo fino a coprire uno spettro di applicazioni estremamente vasto, difficile da elencare con completezza:
Quanti più di questi ambiti riesce a coprire, tanto più un linguaggio è versatile.
In ogni applicazione vi sono diversi fronti su cui muoversi: modello dei dati, algoritmi, I/O, interfaccia utente, interfacce con altri sistemi o dispositivi, etc.
Non ritengo possibile che con uno solo dei paradigmi di programmazione (di cui cito di seguito solo alcuni) si possa efficacemente coprire l'intero dominio:
Un linguaggio che dia supporto alla programmazione in vari di essi può rappresentare un vantaggio.
Uno dei modi di formulare la Legge di Murphy è il seguente:
Se qualcosa può andare storto, lo farà
Ecco alcuni atteggiamenti, i primi che mi vengono in mente, tra quelli che rendono più probabile l'avverarsi di questa profezia:
I primi tre punti sono più riferiti all'atteggiamento dello sviluppatore, e non mi dilungo. Cito solo, per il terzo, una battuta di fonte anonima: Quando ho scritto questo codice, solo io e Dio sapevamo cosa significa. Ora, dopo qualche anno, lo sa solo Dio.
Il quarto punto, invece, è attinente al linguaggio di programmazione, e specificamente a quanto la sua struttura sintattica sia d'aiuto nel prevenire determinate classi di errori; è questo che desidero maggiormente approfondire nel seguito.
Giorgio Barchiesi
Albo degli Ingegneri Sez. A, N. 4027 della Prov. di Trento
P.IVA 02370260222, C.F. BRC GRG 58L26 C794R
Copyright © 2015-2024 Giorgio Barchiesi - Tutti i diritti riservati