Introduzione al linguaggio C

In questa introduzione al linguaggio c, metto in risalto cenni storici, personaggi e punti di riferimento di questo linguaggio di programmazione; sono molti a pensare che ha cambiato il mondo dell’informatica, contribuendo in modo univoco allo slancio tecnologico. 

Il linguaggio c di “Dennis Ritchie” sviluppato nei laboratori della Bell, tra il (1972/73) su “DEC PDP-11” (Digital Equipment Corporation Programmed Data Processor model 11) con architettura a 16 bit; fu la macchina sul quale Ritchie fece girare il primo programma scritto in c.

L’ impronta del linguaggio c deriva dal linguaggio BCPL di “Martin Richards” che influenzò la scrittura del linguaggio B di Ken Thomson.

Il linguaggio C

Agli arbori degli anni 70, il linguaggio C inizia il suo percorso verso il successo. Essendo un linguaggio di tipo procedurale, riesce ad integrare caratteristiche dei linguaggi di basso livello, come l’ assembly. Questa affinità rende il C la via di mezzo tra i linguaggi di basso e quelli di alto livello.

Struttura del linguaggio c

In C possiamo spingerci a dire che è un linguaggio strutturato a blocchi; anche se si distingue dal fatto che:

  • A differenza di altri linguaggi più moderni della categoria di quelli strutturati a blocchi; questo linguaggio non lo è!
  • In linguaggio C è consentito richiamare funzioni all’interno di altre; questo lo pone in una posizione intermedia facendo si che non rientri tra i linguaggi con struttura a blocchi.
Introduzione al linguaggio C
Ken Thomson e Dennis Ritche.

Introduzione al linguaggio C

Il linguaggio C, blasonato per la sua potenza di calcolo si è imposto come linguaggio di riferimento per la realizzazione di software di sistema su scala globale; un classico esempio, giusto per intenderci ” il sistema operativo Unix e i suoi derivati “. Questo linguaggio mostra tutto il suo valore in quei software che richiedono prestazioni elevate! A differenza del linguaggio Java dove l’ hardware nel tempo è stato potenziato per sfruttare i vantaggi della Java Virtual Machine. Questo modo di venire in contro al Java anche involontariamente da parte dei produttori di device, sempre più potenti grazie alla portabilità di Java ne hanno appianato le lacune del linguaggio. Il C e C++ si comportano esattamente in modo opposto, ovvio che non e tutto oro quello che luccica.

La standard ANSI ISO

La standardizzazione del linguaggio c in prima istanza dell’ANSI (American National Standards) ed in seguito dell’ISO (International Organization for Standardization); tracciano un modello comune del codice “C standard” (ANSI C). Oltre che per il software di sistema, il C è stato sin da subito ed ancora oggi un linguaggio dominante. Un esempio sono i programmi che richiedono elevate prestazioni in modo da sfruttare a pieno la potenza del processore e della ram. Esempi tipici sono il controllo dei processi di calcolo, le telecomunicazioni e giochi 3D in C++.

Riflessioni sul linguaggio c

Java è utilizzato in molti sbocchi grazie alla sua flessibilità e portabilità del codice. Si consideri però che non possiamo affermare che Java ci potrebbe garantire le stesse prestazioni di un programma scritto in C. Il predominio del C in molti contesti è diminuito a seguito dei nuovi linguaggi orientati ad oggetti; un esempio, il linguaggio C++ che comunque è un estensione del C. Potremmo affermare che Java, vuoi anche per analogie di sintassi e figlio di questi due.

Considerazioni

Il linguaggio c oggi è meno attraente rispetto ad altri linguaggi di programmazione moderni orientati ad oggetti essendo di tipo procedurale. Tuttavia le forti relazioni con la sintassi di (C++ e Java) fanno si che continui ad avere una notevole importanza didattica. Il linguaggio C non è particolarmente intuitivo ma di sicuro aiuta nel passaggio al “c ++”, quindi va da se che si è poi agevolati anche con il linguaggio C++ e Java.

Conclusioni

In questa introduzione al linguaggio c non abbiamo lasciato niente al caso! Questo ci consente di avere una marcia in più anche nel scegliere i percorsi formativi a noi più consoni. Sembra logico che i programmatori trovano più motivazioni nei linguaggi moderni con la prospettiva all’inserimento lavorativo.

Articolo del 7 Feb 2018 di Romano Carmine