Capire se un linguaggio di programmazione va bene o no

Per capire se un linguaggio di programmazione va bene o no, e quindi è in grado di soddisfare le esigenze con cui si ha a che fare, è necessario prendere in considerazione diverse caratteristiche. Occorre partire, in ogni caso, dal presupposto che non si può parlare di linguaggi ottimi e di linguaggi pessimi in assoluto, proprio perché la valutazione deve basarsi sulle finalità che si intendono raggiungere e sulle problematiche da affrontare.

Caratteristiche intrinseche del linguaggio di programmazione

L’attenzione deve concentrarsi, quindi, sulle cosiddette caratteristiche intrinseche, che corrispondono alle qualità del linguaggio in sé e dipendono dalla sua architettura interna e dalla sua sintassi, condizionando il lavoro del programmatore.

L’espressività è un esempio di caratteristica intrinseca, in quanto non dipende dal tipo di macchina che si usa, dal sistema operativo, dal compilatore, dal linker o dagli altri strumenti eventualmente impiegati. L’espressività può essere definita come la facilità con la quale un certo algoritmo può essere scritto in un linguaggio specifico: essa può dipendere dall’algoritmo, e in linea di massima è da ritenersi buona nel caso in cui un determinato linguaggio permetta di basarsi su poche istruzioni per una scrittura chiara e facilmente leggibile degli algoritmi.

La leggibilità è, a sua volta, una caratteristica intrinseca e corrisponde alla facilità con la quale si capisce come funziona e cosa fa un codice sorgente semplicemente leggendolo. A influenzare la leggibilità sono sia il linguaggio che lo stile di programmazione, ma il compito può essere agevolato anche dalla sintassi del linguaggio. La concisione e le abbreviazioni, per esempio, offrono la possibilità di prestare più attenzione alla logica del codice, a patto che si sia esperti, mentre potrebbero non essere gradite ai profani o ai neofiti che, invece, preferirebbero un linguaggio quasi prolisso.

Sempre in tema di facilità di lettura, ecco una caratteristica come la didattica, coinvolta nella possibilità di agevolare la comprensione dell’utilità di un linguaggio di programmazione. La didattica ha a che fare con la semplicità del linguaggio e, di conseguenza, con la velocità con cui tale linguaggio può essere appreso. L’esempio più comune, da questo punto di vista, è quello del Basic, che è un linguaggio che si impara con estrema facilità in quanto vanta una sintassi alquanto chiara e un numero limitato di regole, ma soprattutto barriere chiare tra ciò che non è consentito e ciò che è lecito. Apprezzabile è anche la didattica del Pascal, che offre tutti i benefici del Basic e in più permette ai programmatori con poca esperienza di individuare lo stile più adatto a loro, evitando errori e distrazioni. Non può essere considerato un linguaggio didattico, invece, il C, perché ha un numero contenuto di regole ma si contraddistingue per una semantica difficile da intuire, che presuppone una notevole abilità, e soprattutto molto tempo, perché la si possa padroneggiare.

Caratteristiche esterne del linguaggio di programmazione

Oltre alle caratteristiche intrinseche, la valutazione di un linguaggio di programmazione può essere effettuata anche tenendo conto delle caratteristiche esterne, che coinvolgono l’ambiente in cui il linguaggio opera.

Per esempio, la diffusione del linguaggio, che consiste, in sostanza, nel numero di programmatori che lo usano in tutto il mondo. Come si può facilmente intuire, maggiore è la diffusione, più semplice è il lavoro, perché una comunità di programmatori molto nutrita permette di trovare materiale più facilmente, di usufruire delle librerie di funzioni senza difficoltà e di avere sempre a disposizione consigli, aiuti e documenti, senza dimenticare il fatto che ciò implica un numero superiore di software house che danno vita a strumenti di sviluppo.

In questo senso, è da ritenersi molto importante anche la standardizzazione.

Programming languages

Condividi