Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Recensione Il linguaggio C Kernighan & Ritchie - Manuali

Il linguaggio C Kernighan & Ritchie

A cura di:


  Un primo giudizio
Il libro di Kernighan e Ritchie è ritenuto un classico sul linguaggio C, su cui si sono formate intere generazioni di studenti e programmatori. Questa nuova edizione italiana è basata sulla seconda edizione originale, quella definitiva, aggiornata allo standard ANSI.
Daltro canto, l libro di Kernighan e Ritchie, nel tentativo di introdurre già dalle prime pagine il lettore alla programmazione, pecca forse di mancata chiarezza espositiva. I capitoli centrali del manuale, rischiano poi di eccedere nel tentativo di riportare pedissequamente tutte le regole e le possibilità offerte dal C, a fronte di una trattazione limitata in termini di spazio.
Il linguaggio C è, per motivi storici, un manuale di riferimento, ma lo stile di insegnamento difficile e tendenzialmente enciclopedico deve indurre i programmatori alle prime armi a preferire altri testi; i programmatori più esperti possono invece trovare in questo libro un valido punto di riferimento.



Immagine postata dall'utente
Copertina del libro Il linguaggio C



  Introduzione
Per molti anni, il Manuale di riferimento della prima edizione di questo libro ha costituito la definizione del C. nel 1983, lIstituto Americano per gli Standard (ANSI, American National Standards Institute) fondò un comitato al fine di giungere a una definizione moderna ed esauriente del C. Verso la fine del 1988 lo standard di definizione che ne risultò fu il cosiddetto ANSI C. La seconda edizione del libro di Kernighan e Ritchie aderisce totalmente allo standard, anzi, riporta in appendice una versione semplificata dello stesso standard ANSI.


  Gli autori

Immagine postata dall'utente
Kernighan e Ritchie ai Bell Labs

Tennis M. Ritchie è uno dei pionieri dell'informatica moderna. Nato a New York il 9 settembre 1941, si è laureato a Harvard, e dal 1967 ha iniziato a lavorare presso i Bell Telephone Laboratories, nel loro centro di ricerca informatico; dove ha sviluppato la prima versione del sistema operativo Unix e scritto il primo Unix Programmers Manual (1971). Insieme a Brian Kernighan e Ken Thompson ha sviluppato poi il linguaggio di programmazione C. Con Kernighan ha scritto il libro Programmare in C (titolo originale: The C Programming Language), oggi reputato un testo fondamentale per i programmatori e noto, nell'ambiente, come il K&R C. Nel 1983 lui e Ken Thompson ricevettero il Premio Turing per il loro contributo allo sviluppo della teoria generica dei sistemi operativi e specialmente per l'implementazione del sistema operativo UNIX.

Brian W. Kernighan è uno scienziato informatico statunitense. Ha lavorato, come Ritchie, presso i Bell Labs, nel dipartimento di ricerca informatico. È famoso soprattutto per aver scritto insieme a Dennis Ritchie il manuale di riferimento per il linguaggio di programmazione C. È il creatore del linguaggio Awk e di molti programmi Unix, come ad esempio troff. Attualmente insegna alla Princeton University.


  Panoramica sul libro
Il primo capitolo offre al lettore una panoramica generale del linguaggio; come viene riportato nellIntroduzione al libro, gli autori sono fermamente convinti che il modo più efficace di apprendere un nuovo linguaggio sia utilizzarlo subito per scrivere programmi.
Unanalisi più esaustiva del linguaggio è affrontata nei capitoli dal 2 al 6, dove si presentano e si spiegano i tipi di dati elementari, gli operatori, le espressioni (cap. 2), il flusso del controllo (cap. 3), le variabili, la struttura del programma, il preprocessore (cap. 4), i puntatori, laritmetica degli indirizzi (cap. 5), le strutture e le unioni (cap. 6).
Il capitolo 7 descrive la libreria standard, definita dallo standard ANSI , che fornisce uninterfaccia uniforme al sistema operativo; il capitolo 8 descrive uninterfaccia tra i programmi in C e il sistema operativo UNIX, allinterno del quale venne sviluppato, in origine, lo stesso linguaggio C.
Nelle appendici trovano una discreta trattazione lo standard ANSI e la libreria standard.


  Argomenti trattati

Prefazione

Prefazione alla prima edizione

Introduzione

1. Panoramica del linguaggio
  • Primi passi
  • Variabili ed espressioni aritmetiche
  • Costrutto for
  • Simboli di costanti
  • Lettura e scrittura di caratteri
  • Vettori
  • Funzioni
  • Argomenti: chiamata per valore
  • Vettori di caratteri
  • Variabili esterne e visibilità
2. Tipi, operatori ed espressioni
  • Nomi delle variabili
  • Tipi e dimensioni dei dati
  • Costanti
  • Dichiarazioni
  • Operatori aritmetici
  • Operatori relazionali e logici
  • Conversioni di tipo
  • Operatori di incremento e decremento
  • Operatori per la manipolazione dei bit
  • Operatori di assegnamento ed espressioni
  • Espressioni condizionali
  • Precedenze e ordine di valutazione
3. Flusso del controllo
  • Istruzioni e blocchi
  • If-else
  • Elfe-if
  • Switch
  • Cicli: while e for
  • Cicli: do-while
  • Break e continue
  • Goto ed etichette
4. Funzioni e struttura dei programmi
  • Fondamenti delle funzioni
  • Funzioni che restituiscono valori diversi da interi
  • Variabili esterne
  • Regole di visibilità
  • Intestazioni
  • Variabili static
  • Variabili register
  • Struttura a blocchi
  • Inizializzazione
  • Ricorsione
  • Il preprocessore del C
5. Puntatori e vettori
  • Puntatori e indirizzi
  • Puntatori e argomenti delle funzioni
  • Puntatori e vettori
  • Aritmetica degli indirizzi
  • Puntatori a caratteri e funzioni
  • Vettori di puntatori: puntatori a puntatori
  • Vettori multidimensionali
  • Inizializzazione dei vettori di puntatori
  • Puntatori e vettori multidimensionali a confronto
  • Argomenti dalla riga di comando
  • Puntatori a funzioni
  • Dichiarazioni complesse
6. Strutture
  • Fondamenti delle strutture
  • Strutture e funzioni
  • Vettori di strutture
  • Puntatori a strutture
  • Strutture autoreferenziali
  • Ricerca su tabelle
  • Typedef
  • Unioni
  • Campi di bit
7. Input e output
  • Standard input e output
  • Formattazione dei dati in uscita: printf
  • Liste di argomenti di lunghezza variabile
  • Formattazione dei dati in ingresso: scanf
  • Accesso ai file
  • Gestione degli errori: stderr ed exit
  • Input e output delle righe
  • Funzioni varie
8. Interfaccia con il sistema UNIX
  • Descrittori dei file
  • I/O a basso livello: read e write
  • Open, creat, close e unlink
  • Accesso casuale: lseek
  • Esempio di implementazione di fopen e getc
  • Esempio di liste di directory
  • Esempio di allocatore di memoria
A. Manuale di riferimento
  • Introduzione
  • Convenzioni lessicali
  • Notazione della sintassi
  • Significato degli identificatori
  • Oggetto e lvalue
  • Conversioni
  • Espressioni
  • Dichiarazioni
  • Istruzioni
  • Dichiarazioni esterne
  • Campo di visibilità e linkage
  • Il preprocessore
  • Grammatica
B. Libreria standard
  • Ingresso e uscita dei dati <stdio.h>
  • Classi di caratteri:<ctype.h>
  • Funzioni per la gestione delle stringhe: <string.h>
  • Funzioni matematiche: <math.h>
  • Funzioni di utilità: <stdlib.h>
  • Diagnostica: <assert.h>
  • Liste di argomenti di lunghezza variabile: <stdarg.h>
  • Salti non locali: <setjmp.h>
  • Segnali: <signal.h>
  • Funzioni di data e ora: <time.h>
  • Limiti definiti dall'implementazione: <limits.h> e <float.h>
C. Sommario delle modifiche


  Per finire
Lestrema popolarità di questo manuale si è spinto fino a interpretazioni umoristiche, come dimostra la seguente preghiera della messa degli informatici:

Riti di conclusione
PROF:    Kernighan sia con voi!
TUTTI:   E con il suo linguaggio!
PROF:    Vi istruisca all'arte della programmazione nel nome di Babbage, di Turing e della Microsoft Corporation.
TUTTI:   Byte.
PROF:    Il programma è finito, uscite in pace.
TUTTI:   Byte.


  Dati tecnici
Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento. Seconda edizione
Autore: Kernighan, B. W. & Ritchie, D.
Trad. it.: Marra, V.
Edizione: Milano, Pearson 2004
ISBN: 88-7192-200-X
U.R.L.: http://hpe.pearsoned.it

Prezzo di copertina: 27,00
Numero pagine: 296

Giudizio complessivo: 8/10