#3 - Le peculiarità del C

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Senior Member

    Group
    Administrator
    Posts
    16,061
    Reputation
    +93
    Location
    Woodstock

    Status
    Anonymous
    Fonte

    Quali sono le peculiarità del C? Sono molte e qui di seguito elenchiamo quelle più importanti cercando di chiarirne il significato.

    Dimensioni del codice ridotte – Generalmente il codice sorgente di un programma in C ha un peso (in Kb) relativamente piccolo, in questo modo risulta molto agevole trasportare il codice da un PC ad un altro, anche usando un semplice floppy.

    Dimensioni dell’eseguibile ridotte – Anche una volta compilato, un programma in C, risulta molto piccolo e quindi di più facile diffusione; ovviamente un programma in C potrà essere eseguito solamente sul medesimo Sistema Operativo per cui è stato compilato.

    Efficienza dei programmi – Un programma scritto in C, proprio per la 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 – Ogni 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, però il fatto di essere sulla scena da molti anni e la sua enorme diffusione ne fanno, di fatto, uno strumento altamente portabile.

    è un linguaggio di alto livello – Un linguaggio di programmazione 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++, il Java e molti altri. La particolarità 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 – Il C è considerato il 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 – Il C fa un largo uso di puntatori per le operazioni riguardanti la memoria, gli array, le strutture e le funzioni.

    Loose Typing – In poche parole in C i tipi di dato delle variabili 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, questo perché è un’istruzione poco utilizzata e può portare ad imparare uno stile di programmazione poco chiaro e facilmente soggetto ad errori; tutte le nozioni date in queste lezioni permettono di risolvere tutti i problemi risolvibili con un goto in modo più elegante e più corretto.

    Non mi resta che augurarvi Buon Lavoro!
     
    Top
    .
0 replies since 5/8/2013, 15:49   18 views
  Share  
.