DOMANDA Scelta libro di programmazione per C

Fenix27

Utente Attivo
863
220
Ciao programmatori di Tom's :).

Libri presi in considerazione:
- Il linguaggio C. Fondamenti e tecniche di programmazione
- Il linguaggio C. Principi di programmazione e manuale di riferimento
- Programmazione in C

Allora diciamo che ho le basi di programmazione (tra cui C,Java,Javascript e qualcosa in Python e Assembly).

Non ho mai avuto un vero manuale di C ed ero intenzionato di acquistarne uno, però vorrei che avesse queste caratteristiche:
- Un manuale che spieghi a partire dalla basi per poi affrontare anche argomenti più complessi.
- Un manuale da usare anche come un punto di riferimento.
- Un manuale che possa essere usato anche come un libro universitario.

Diciamo che vorrei un libro che possa essere usato sia come un libro per avvicinarsi al linguaggio, ma che possa essere usato anche per ampliare i vari concetti e approfondimenti.
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,946
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
Il primo della lista (il Deitel) va benissimo, spiega sia il C che le basi fondamentali di programmazione, ed è completo (acquistandolo è inutile l'ultimo della lista), consigliato ed usato anche all'Università.

Il secondo è il grande classico degli inventori del C (Kernighan e Ritchie); ogni programmatore dovrebbe avere nella propria libreria, tuttavia descrive l'ANSI C, non è aggiornato allo standard attuali (C11). Non è un libro di programmazione di base ma un libro sul C.

Diciamo che, se devi prenderne solo uno è meglio il Deitel. Se puoi prendili entrambi.
 
Ultima modifica:

Fenix27

Utente Attivo
863
220
Il primo della lista (il Deitel) va benissimo, spiega sia il C che le basi fondamentali di programmazione, ed è completo (acquistandolo è inutile l'ultimo della lista), consigliato ed usato anche all'Università.

Il secondo è il grande classico degli inventori del C (Kernighan e Ritchie); ogni programmatore dovrebbe avere nella propria libreria, tuttavia descive l'ANSI C, non è aggiornato allo standard attuali (C11). Non è un libro di programmazione di base ma un libro sul C.

Diciamo che, se devi prenderne solo uno è meglio il Deitel. Se puoi prendili entrambi.

Il secondo cosa contiene ?
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,946
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
Te l'ho detto:
il Kernighan e Ritchie è un manuale di riferimento del C: il manuale di un linguaggio descrive il linguaggio di programmazione stesso, in questo caso il vecchi ANSI C (parliamo del 1989), ormai non più attuale (non bisogna farsi ingannare dal fatto che l'ultima ristampa è datata 2004);
bisogna studiare come minimo il C in versione C99, meglio l'ultimo C11 (2011).
In quanto manuale il focus è sul linguaggio, non sulla programmazione in generale.
E' uno dei migliori manuali che siano mai stati scritti, tuttavia non lo consiglierei a chi si avvicina alla programmazione per la prima volta, sarebbe bene avere già un po' di dimestichezza con almeno un linguaggio di programmazione.
 
U

Utente 125751

Ospite
Citazione:

"Fermi restando i consigli dati, vi prego per favore per cortesia with cherry on top non comprate i testi della banda Deitel: non insegnano assolutamente a programmare, o più propriamente, come mi ha detto una volta un tizio estremamente competente (esperto in ingegneria del software, docente non ricordo dove, biblioteca vivente e tanto altro):

Sono incompleti, farraginosi, pieni di omissioni e spiegazioni parziali in nome di una "semplificazione" che non rende giustizia al linguaggio C e lascia il lettore pericolosamente illuso di sapere. Inoltre gli esempi sono scritti in modo pedestre ed impresentabile, anche se nelle edizioni più recenti si è furbescamente cercato di fare passare tale cialtroneria come una "feature" invitando i lettori a "migliorare" il codice (ma senza fornire minimanente gli strumenti e le indicazioni per farlo!), a seguito di innumerevoli recensioni negative e segnalazioni di professionisti imbufaliti dal vergognoso livello di tali snippets e relativo stile di codifica.​


Se proprio si vuole imparare il C da un libro (scelta al contempo positiva e negativa a mio avviso), testi decenti sono:

1 - Quello di Bellini-Guidi, completo ed interessante, anche se non so quanto aggiornato (ma tanto, se deve iniziare da zero delle nuove possibilità del linguaggio gli interessa poco). Notevole inoltre la parte iniziale, che presenta un'ottima introduzione generale alla programmazione.
2 - L'ottimo testo di Stephen Prata, che spiega tutto e lo spiega bene. Molto carini anche gli esercizi proposti.
3 - Il testo divino-immancabile-eterno-semperlaudatus dei mitologici creatori del linguaggio Kernighan-Ritchie, anche se forse per un principiante assoluto è un po' ostico se non addirittura sconveniente, visto che non ha una parte di introduzione alla programmazione. Lo cito lo stesso perché se si parla del C va citato sempre e comunque.
4 - Il testo di K.N. King, che è molto chiaro e relativamente completo.

Di questi, per iniziare io sceglierei... nessuno, perché io il C lo studierei sul draft dello standard ISO/IEC, ma se proprio dovessi comprare un testo prenderei il primo, che tra tutti è quello che mi sembra il testo introduttivo più adeguato."
 
  • Mi piace
Reazioni: Fenix27

Fenix27

Utente Attivo
863
220
Citazione:

"Fermi restando i consigli dati, vi prego per favore per cortesia with cherry on top non comprate i testi della banda Deitel: non insegnano assolutamente a programmare, o più propriamente, come mi ha detto una volta un tizio estremamente competente (esperto in ingegneria del software, docente non ricordo dove, biblioteca vivente e tanto altro):

Sono incompleti, farraginosi, pieni di omissioni e spiegazioni parziali in nome di una "semplificazione" che non rende giustizia al linguaggio C e lascia il lettore pericolosamente illuso di sapere. Inoltre gli esempi sono scritti in modo pedestre ed impresentabile, anche se nelle edizioni più recenti si è furbescamente cercato di fare passare tale cialtroneria come una "feature" invitando i lettori a "migliorare" il codice (ma senza fornire minimanente gli strumenti e le indicazioni per farlo!), a seguito di innumerevoli recensioni negative e segnalazioni di professionisti imbufaliti dal vergognoso livello di tali snippets e relativo stile di codifica.​


Se proprio si vuole imparare il C da un libro (scelta al contempo positiva e negativa a mio avviso), testi decenti sono:

1 - Quello di Bellini-Guidi, completo ed interessante, anche se non so quanto aggiornato (ma tanto, se deve iniziare da zero delle nuove possibilità del linguaggio gli interessa poco). Notevole inoltre la parte iniziale, che presenta un'ottima introduzione generale alla programmazione.
2 - L'ottimo testo di Stephen Prata, che spiega tutto e lo spiega bene. Molto carini anche gli esercizi proposti.
3 - Il testo divino-immancabile-eterno-semperlaudatus dei mitologici creatori del linguaggio Kernighan-Ritchie, anche se forse per un principiante assoluto è un po' ostico se non addirittura sconveniente, visto che non ha una parte di introduzione alla programmazione. Lo cito lo stesso perché se si parla del C va citato sempre e comunque.
4 - Il testo di K.N. King, che è molto chiaro e relativamente completo.

Di questi, per iniziare io sceglierei... nessuno, perché io il C lo studierei sul draft dello standard ISO/IEC, ma se proprio dovessi comprare un testo prenderei il primo, che tra tutti è quello che mi sembra il testo introduttivo più adeguato."

Grazie per il tuo consiglio, però dopo aver letto parecchi commenti positivi riguardo al libro di Deitel, acquisterò quello.
Valuterò in seguito l'acquisto di altri se terrò che quello di Deitel non sia sufficiente/chiaro.
Chiedo comunque anche ad altri che di commentare se hanno avuto esperienze con i libri citati o altri.
Inoltre per quanto riguarda C++, quali sono i libri consigliati ?
 

Andretti60

Utente Èlite
6,440
5,091
Difficile dare consigli, esistono svariati buoni libri sul linguaggio C, se poi sai l'inglese la scelta si moltiplica esponenzialmente. Dipende molto da che conoscenze basi si hanno.

Io rimango fedele al R&K, il secondo della tua lista, che è ottimo per chi abbia già conoscenza di cosa sia un computer e cosa significhi programmare, che mi pare sia il tuo caso. È estremamente ben scritto e anche divertente da leggere. Il fatto che sia stato il primo manuale del linguaggio e rimane ancora tuttora uno dei più consigliati la dice lunga sul suo valore.
 
  • Mi piace
Reazioni: Fenix27

Fenix27

Utente Attivo
863
220
Difficile dare consigli, esistono svariati buoni libri sul linguaggio C, se poi sai l'inglese la scelta si moltiplica esponenzialmente. Dipende molto da che conoscenze basi si hanno.

Io rimango fedele al R&K, il secondo della tua lista, che è ottimo per chi abbia già conoscenza di cosa sia un computer e cosa significhi programmare, che mi pare sia il tuo caso. È estremamente ben scritto e anche divertente da leggere. Il fatto che sia stato il primo manuale del linguaggio e rimane ancora tuttora uno dei più consigliati la dice lunga sul suo valore.

Ho ordinato il libro di Deitel. Però ho intenzione di comprare anche il secondo della lista (non subito ovviamente), da ciò che leggo su internet è molto apprezzato.
Per quanto riguarda l'inglese: non ho problemi, navigo in inglese, quando si tratta di programmazione cerco risultati sempre in inglese etc...
Il punto è che non ho mai letto un libro in inglese.
 

Andretti60

Utente Èlite
6,440
5,091
Leggere il manuale di un linguaggio in lingua inglese è facilissimo, specie se tieni presente che tutte le keyword sono già in inglese (while, for, print etc). Io studiai solo su testi inglesi e ti assicuro il mio inglese faceva schifo e non riuscivo assolutamente a leggere libri in inglese (tipo iniziai Oscar Wilde e smisi subito, tornando ad autori "semplici" come Isaac Asimov)
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,946
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
@Cibachrome
i testi introduttivi alla programmazione (come i Deitel) sono "pesati" per persone che ancora non sanno nulla di programmazione.
Con tale premessa la semplificazione, non solo è necessaria ma auspicabile: parti che sai 0/10, e magari arrivi a un 6/10, impiegandoci 3-6 mesi.
E da lì hai un nuovo punto di partenza che ti permette di affrontare C Primer Plus di S. Prata (migliore, ma sono più di 1000 pagine scritte fitte fitte che snocciolano tutti i dettagli del linguaggio ad un livello inutile per un principiante). Che sia Deitel o Bellini-Guidi poco importa: meglio poche cose fatte per bene che tutte fatte male.

La persone "esperte in ingegneria del software, docente, biblioteche viventi e tanto altro", super-super-esperte di certi argomenti, sovente si lasciano andare a commenti sprezzanti: non c'è mai nulla che vada loro bene. Essere capaci solo di disprezzare è segno di arroganza.
Insegnare è un "mestiere" difficile, quasi mai i più bravi ed esperti sono anche bravi insegnanti, soprattutto con quelli che partono da zero.
Chiunque insegna lo sa: le cose vanno affrontate per gradi.

Come nota a margine:
imparare un linguaggio a partire da una specifica non è una cosa che possano fare i principianti, ma persone con una grande esperienza.
E comunque, una specifica riguarda un linguaggio, non lo studio degli algoritmi.
Seguendo la stessa logica, bisognerebbe studiare analisi matematica a partire dagli appunti di Newton/Leibnitz, una cosa ridicola.
 

Fenix27

Utente Attivo
863
220
Leggere il manuale di un linguaggio in lingua inglese è facilissimo, specie se tieni presente che tutte le keyword sono già in inglese (while, for, print etc). Io studiai solo su testi inglesi e ti assicuro il mio inglese faceva schifo e non riuscivo assolutamente a leggere libri in inglese (tipo iniziai Oscar Wilde e smisi subito, tornando ad autori "semplici" come Isaac Asimov)

Ricevuto. Più che altro non avendo mai letto un libro in inglese e un libro sulla programmazione mi sento un po' bloccato.
Un conto leggere su internet concetti di programmazione (ex Stack Overflow,Reddit,etc...) che hanno comunque un linguaggio tecnico ma semplice quindi si comprende il concetto, un altro affrontare un vero e proprio manuale, un mattone (se ci riferiamo a quello di Stroustrup).
Non vorrei poi rimanere bloccato ed avere paura di perdere la voglia di continuare.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili