Linguaggio C – Aspetti principali



20100120c

Il linguaggio C ha tre caratteristiche principali: è un linguaggio procedurale, è estremamente versatile ed utilizza un approccio alla programmazione di tipo imperativo.

Il fatto che C sia un linguaggio procedurale vuol dire che l’entità alla base della sintassi del C è una “procedura”, o, per usare il gergo del C, una “funzione”, la quale rappresenta un costrutto contenente una serie ordinata di istruzioni che il programma esegue. La funzione principale, che deve essere contenuta in ogni programma C, è la funzione main(): questa sarà la prima ad essere analizzata ed invocata dal compilatore, che a partire da essa eseguirà ordinatamente le altre istruzioni specificate nel codice.

L’approccio procedurale presenta, rispetto ad altri approcci, alcuni vantaggi significativi, che comprendono una maggiore intelligibilità del codice, che ad esempio non presenta i caotici salti tipici della programmazione destrutturata (con una conseguente migliore “trattabilità” dello stesso, intesa come capacità di individuare eventuali bug o ridondanze) e la possibilità di suddividere una lunga serie di istruzioni in parti di codice più piccole, ottenendo lo stesso risultato. Inoltre, è importante la facoltà di poter riutilizzare le funzioni sia all’interno del programma che all’esterno dello stesso (magari organizzando più funzioni che svolgono compiti affini in apposite librerie).

Il secondo aspetto è quello dell’estrema versatilità del C: infatti, questo linguaggio di programmazione non è stato pensato, come gli altri linguaggi suoi “coetanei”, come specificatamente volto ad una determinata applicazione: infatti, è possibile creare un programma in C che simuli un network di calcolatori, così come uno che utilizzi l’algoritmo di Dijkstra per risolvere il problema del cammino minimo, e tanto altro ancora. Questa “espandibilità infinita” delle potenzialità del C è dovuta al fatto che basta creare una libreria specifica per il compito che vogliamo svolgere per scrivere un programma che, utilizzando detta libreria, svolga questo compito nel migliore dei modi possibili.

Inoltre il linguaggio C adotta l’approccio della programmazione imperativa: il codice viene visto come una serie di “ordini” successivi che vengono impartiti al calcolatore che seguirà fedelmente la serie di istruzioni date senza possibilità di errore (a patto che, chiaramente, il codice sia esatto!).

Aggiungiamo che il C garantisce maggiori prestazioni rispetto ad un linguaggio interpretato, come Java, in quanto non prevede la presenza dell’interprete che, pur garantendo una migliore portabilità rispetto al C, penalizza le prestazioni del programma; inoltre, C ha una sintassi che è più vicina al linguaggio macchina che ad un linguaggio ad alto livello vero e proprio, per cui le prestazioni risulteranno chiaramente superiori.

Infine, c’è da ricordare la questione dell’estrema compattezza della sintassi del C e dell’elevato controllo che viene garantito al programmatore sulla memoria della macchina.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest