Pol Hallen wrote: ...
giungo alla conclusione che un libro sulla programmazione in C e' a me indispensabile. Visto che non costano poi cosi' poco :-( vorrei sapere cosa vi sentite di consigliarmi (ovviamente in italiano).
Vai di google e fatti gli esempi/corsi che trovi, per esempio, su: http://programmazione.html.it/ e ti spiego perchè: il "C" è quanto più simile all'assembly che puoi trovare in giro, cioè se conosci l'assembly puoi "tradurti" a mente tutti i passaggi che fà il C e riesci a capirne tanti perchè. Il C++, invece, è molto più "astratto", cioè è molto più vicino all'uomo come ragionamento, e l'indirizzamento alle classi è molto più proficuo. Ma tutto quello che scrivi in C lo puoi scrivere dentro il C++ aggiungendo proprio due righe di codice se il C++ è ANSI. Quindi non è detto che se parti dal C tu poi abbia voglia di andare avanti: tutti quelli che ti hanno parlato di K&R (che anche io ho e che anche io ti avevo consigliato) lo hanno fatto per motivi universitari (come me...), quindi , costretti. Io conoscevo già l'assembly (buon vecchio C64.. & Amiga 500!) e sinceramente mi sono accorto che il C è Assembly scritto più corto, ma allo stesso tempo è "filosoficamente" difficile da apprendere soprattutto se come dici _sei_digiuno_di_programmazione_! Se ti prendi il K&R ed impari ad usare il gcc (attenzione! nel K&R non ti spiegano come farlo!) impari in un mese a fare le cose, che, in Basic avresti fatto in 3 giorni.... Tra l'altro, avendo fatto elettronica, sono riuscito ancora a meglio a capire il C rispetto ai miei compagni di corso che avevano fatto il classico (e che non sapevano neppure usare la tastiera!). Nzomma: fatti il corso di C, poi quello di C++, e che nessuno mi infami, prova anche quello del Java(TM). Dopodichè vedi se _hai_ bisogno del C, che di buono ha solo il fatto di essere veloce e compatto, ma mai quanto l'assembly, mentre il C++ è già molto più avanti (più concreto nei risultati e nelle possibilità) ma più "grosso" come eseguibile, ed il Java... sinceramente ha un'ottimo Editor GRATIS! (E dico veramente ottimo: usavo il KDevelop, ma anche se buono è molto lontano..). L'ultimo "progetto" serio che ho mandato avanti io era la realizzazione dell LZW da zero (algoritmo di compressione), risultato: nonostante il c++ il "bz" di linux mi dava compressi del 90% sullo stesso file ed in un quarto del tempo. Se cerchi una guida, fai presente perchè vuoi il C e cosa ci vorresti fare, che forse ci mancano propio le premesse.
Se vuoi usarlo da zero, e proprio in linux, ti devo ri-consigliare il "Programmare in linux" che ti spiega le librerie, il linkaggio, il gcc, ecc: senza questi, purtroppo ottieni solo gli esempi del K&R: programmini che ti manipolano le stringhe....Inoltre vorrei sapere se e' il caso di acquistarne uno che tratti ANCHE la programmazione in ambienti diversi da linux (tipo freebsd e windows) oppure se le differenze sono "cosi' minime" da bypassare l'argomento.
... ecco, appunto. Ti ricordo che il "C" è una filosofia, un'impresa, un mito, un Karma. Potrebbe essere un viaggio molto lungo ed oscuro...Scusate l'ignoranza ma ho deciso di tuffarmi nella programmazione da poco tempo e sono del tutto privo di conoscenza circa l'argomento.
Grazie 1000 a tutti ;-) Pol.