Vediamo quali sono le caratteristiche principali del Linguaggio di Programmazione C.
Sono molte e qui di seguito elenchiamo quelle più importanti cercando di chiarirne il
significato.
- Dimensioni del codice ridotte -
semplice floppy. - Dimensioni dell'eseguibile ridotte
- Efficienza dei programmi
possibilità messa a disposizione dal linguaggio di gestire a fondo la memoria, e
per le sue dimensioni ridotte, risulta particolarmente efficiente. - Può essere compilato su una vasta gamma di computer
può differire dagli altri per almeno due cose, l'architettura ed il sistema
operativo; ad esempio un computer con processore x86 e Windows ha delle
istruzioni (intese come istruzioni del processore) ed una gestione della memoria
diverse da uno Sparc con Linux, però un programma scritto in C può essere
compilato su ambedue le macchine, data l'alta disponibilità di compilatori per
diverse piattaforme. Certo non è "portabile" come Java
molti anni e la sua enorme diffusione ne fanno, di fatto, uno strumento
altamente portabile. - è un linguaggio di alto livello
viene definito di alto livello tanto più si avvicina alla terminologia umana,
inversamente si dice che un linguaggio è di basso livello se il suo codice si
avvicina al linguaggio macchina (quello formato da 0 ed 1); tipico esempio di
linguaggio a basso livello è l'Assembler, mentre linguaggi ad
alto livello sono, oltre al C, il C++
dei linguaggi ad alto livello è quella di avere una semplice sintassi in cui si
usano parole della lingua inglese per descrivere comandi corrispondenti a decine
di istruzioni in assembler o centinaia di istruzioni in linguaggio macchina. - Può maneggiare attività di basso livello
linguaggio di più basso livello tra i linguaggi di alto livello. Questo è dovuto
al fatto che ha poche istruzioni, gestisce in maniera efficiente la memoria ed è
possibile inserire direttamente all'interno di un file in C del codice
Assembler. - Implementazione dei puntatori
le operazioni riguardanti la memoria, gli array, le strutture e le funzioni. - Loose Typing
non devono necessariamente essere dichiarati; contrariamente, nel Pascal, nel
C++ e nel Java i tipi devono essere dichiarati (strong typing); tale differenza
risiede nelle scelte decisionali del progettista del linguaggio, che può volere
più o meno flessibilità all'interno dello stesso (compilando un programma Java,
la maggior parte delle volte si commettono errori di tipo). C'è chi dice che il
metodo loose typing permetta al programmatore di commettere errori di tipo che
potrebbero compromettere l'esecuzione del programma, ma è anche vero che con lo
strong typing siamo costretti a seguire delle regole rigide che, a volte, non
permettono di risolvere "velocemente" un problema.
Nelle lezioni seguenti parleremo della storia del linguaggio C, procedendo poi verso gli strumenti di compilazione disponibili per i vari Sistemi Operativi ed al primo programmino (il famoso Hello World) scritto in C; la parte centrale della guida è tutta incentrata sulla sintassi del linguaggio, in ordine, le variabili, gli operatori, le istruzioni condizionali (come l'IF-ELSE), le istruzioni iterative (FOR e WHILE), gli array, le funzioni, i puntatori, le liste, l'allocazione dinamica della memoria, l'input/output su file e l'utilizzo del pre-processore C; l'ultima parte spiega in dettaglio lo stile per scrivere un programma, l'uso degli header e del Make per la creazione di makefile (sotto Linux), l'utilizzo di funzioni speciali disponibili sotto Linux, le opzioni del compilatore GCC sotto Linux e le funzioni disponibili nelle librerie standard del linguaggio.
Sarà, invece, omessa, volutamente, la trattazione dell'istruzione goto
Non mi resta che augurarvi Buon Lavoro!