Il linguaggio C

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

Il linguaggio C (in inglese The C Programming Language), chiamato anche K&R, dalle iniziali dei cognomi degli autori, è un noto libro d'informatica scritto da Brian Kernighan e Dennis Ritchie, il secondo dei quali ha originalmente ideato e sviluppato il linguaggio (così come ha collaborato alla creazione del sistema operativo Unix, sviluppo che è strettamente legato alla nascita del linguaggio C). Il libro è stato un punto di riferimento per lo sviluppo e la divulgazione del linguaggio C ed è ancora ampiamente letto e usato tutt'oggi. Esso gode di una notevole considerazione ed è ritenuto una guida di riferimento autorevole, o addirittura indispensabile, per il linguaggio C in quanto scritto dagli autori originali del linguaggio e perché negli anni è diventato uno standard de facto.

Storia[modifica | modifica wikitesto]

La prima edizione del libro, pubblicata nel 1978, fu la prima guida disponibile per il linguaggio di programmazione C. Il testo fu redatto contemporaneamente allo sviluppo del linguaggio stesso presso i laboratori Bell della AT&T. A volte ci si riferisce alla versione del C descritta in questo libro come K&R C, spesso per distinguerla con le ultime, standardizzate, a cui ci si riferisce anche come ANSI C.

La seconda edizione del libro fu pubblicata nel 1988: essa aggiornava la guida al linguaggio seguendo le indicazioni della standardizzazione ANSI dello stesso, in particolare con l'inclusione di materiale di riferimento alle librerie standard. Tale seconda edizione è stata tradotta in oltre 20 lingue.

L'ANSI C, inizialmente standardizzato nel 1988, ha subito diverse revisioni, la più recente delle quali è la ISO/IEC 9899:1999 (anche conosciuta come "C99"), adottata come standard ANSI nel marzo del 2000. Ad ogni modo, non è stata pubblicata alcuna revisione del manuale per coprire i più recenti standard.

Influenza[modifica | modifica wikitesto]

Il linguaggio C è stato spesso citato come modello per i testi tecnici, per via dell'esposizione chiara e concisa del contenuto. Nel piccolo delle sue 272 pagine (seconda edizione), la trattazione degli aspetti del linguaggio rimane dettagliata e con pochi fronzoli. Gli esempi, di solito, consistono in programmi completi, simili a quelli in cui è possibile imbattersi nell'utilizzo quotidiano del linguaggio, con un'enfasi speciale sulla programmazione di sistema. I dettagli tecnici del C sono corredati dalle osservazioni degli autori sulle buone pratiche di programmazione, che sono illustrate con esempi concreti e realistici. Nella prefazione alla seconda edizione del libro si legge:[1]

«Abbiamo provato a mantenere la brevità della prima edizione. Il C non è un linguaggio di grandi dimensioni, e non gli si rende un gran servizio scrivendo un libro ingombrante. Abbiamo migliorato l'esposizione delle caratteristiche più importanti, come i puntatori, che sono centrali nella programmazione C. Abbiamo rifinito gli esempi originali, e ne abbiamo aggiunti di nuovi in diversi capitoli. Per esempio, il trattamento di dichiarazioni complesse è corredata da programmi che convertono tali dichiarazioni in parole semplici, e viceversa. Come già fatto in precedenza, tutti gli esempi sono stati testati così come sono forniti nel testo, e sono direttamente utilizzabili su di una macchina.»

Quando ancora non era stata creata la specifica ANSI C, la prima edizione del testo fu, per chi scriveva compilatori C, uno standard de facto. A seguito della standardizzazione, gli autori rivolsero la seconda edizione ai programmatori, piuttosto che ai primi; per usare le parole degli autori (ancora nella prefazione alla seconda edizione):

«L'appendice A, il manuale di riferimento, non è lo standard, ma il nostro tentativo di raccogliere le sue parti essenziali in uno spazio più piccolo. Lo scopo della sua esistenza è l'essere compreso facilmente dai programmatori, e non rappresenta una linea guida per chi scrive compilatori - ruolo che è demandato allo standard. L'appendice B è un riassunto delle caratteristiche della libreria standard. Anch'essa è intesa come riferimento per i programmatori, e non per gli implementatori. L'appendice C è una sintesi concisa dei cambiamenti dalla versione originale.»

L'influenza de Il linguaggio C sui programmatori, una generazione che si è "fatta le ossa" sul C nelle università e nell'industria, ha portato molti ad accettare lo stile di programmazione e le convenzioni usate dagli autori come il comportamento preferibile cui attenersi, se non la regola. Per esempio, lo stile di scrittura e di indentazione del codice dei programmi presentati in entrambe le edizioni viene spesso definito "stile K&R" o One True Brace Style, e divenne lo stile di programmazione usato per convenzione nel codice sorgente dei kernel di Unix e in Linux.

Note[modifica | modifica wikitesto]

  1. ^ (EN) Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, 2ª ed., Englewood Cliffs, Prentice Hall, 1988, ISBN 0-13-110362-8 (archiviato dall'url originale il 6 novembre 2008).

Bibliografia[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica