Il linguaggio C

Ho terminato ieri di seguire un corso avanzato sul linguaggio C tenuto da una delle persone più competenti che io conosca in fatto di linguaggi di programmazione e sistemi operativi. La conseguenza di questo corso non è come si può pensare che io conosca il C meglio di prima, anche se un po' è così, bensì che io lo reputi più di prima un linguaggio pessimo fatto di scelte assurde e comportamenti dipendenti dall' implementazione, cioè dalla macchina sulla quale il codice viene eseguito, dal sistema operativo e dal compilatore utilizzato. 

Elencare tutti i difetti che i due mattacchioni californiani – Brian Kernighan e Dennis Ritchie nelle foto  – hanno  introdotto sarebbe oltre che noioso anche difficile dato che sicuramente mi dimenticherei qualcosa. Per fortuna nell'89 l'ISO ha tentato – inutilmente – di mettere una pezza ai disastri dei due simpaticoni cercando di dare un comportamento quanto più uniforme possibile al linguaggio.

Un mattacchione californianoUn mattacchione californiano

C'è comunque da dire che se utilizzato con attenzione e tenuto lontano dalla portata di programmatori "cani" può non essere poi così male, se però ci si lascia andare e ci si mette a utilizzare tutto quanto lo standard permette si può scrivere del codice veramente pessimo. Un esempio su tutti… a un elemento del vettore in C si accede con:

vettore[indice];

Per come il compilatore compila il codice però è permesso anche scrivere:

indice[vettore];

il chè è una cosa che fa accapponare la pelle… Almeno a me. 

 

This entry was posted in PiCi. Bookmark the permalink.