Newsgroup: it.comp.lang.c
Titolo: Sorgenti C per pivelli

Ciao, sto studiando il c da poco tempo, e da poco tempo ho terminato lo 
studio del K&R. Adesso vorrei studiarmi dei sorgenti alla mia portata. 
Esiste un qualche sito che raccolga materiale del genere, sorgenti c che 
anche i novellini come me possano comprendere per imparare qualcosa? 
Grazie.


prova
http://lagash.dft.unipa.it/AL/al204.htm

Alberto ha scritto:

Ti ringrazio, ma questi sono eccessivamente semplici, per ultrapivelli. 
:) In effetti, sono stato poco esauriente nello spiegare il mio livello 
di conoscenze e abilit� (comunque basso), scusami. Insieme al K&R ho 
consultato anche il D&D facendo quasi tutti gli esercizi riportati, e 
sono centinaia. Il fatto � che quegli esercizi sono, appunto, solo 
esercizi, e i sorgenti che ho scritto non hanno nessun'altra utilit� se 
non quella di farmi apprendere nella pratica ci� che � ho appreso nella 
teoria. Ora, per�, quello che voglio imparare � scrivere programmi, per 
cos� dire, "veri", cio� del codice che abbia una qualche utilit� come i 
programmi che usiamo tutti noi ogni giorno, quindi programmi che, p.e., 
"dialoghino" in qualche modo con l'hardware, o software di rete, ecc. Ho 
provato a leggere il codice di alcuni software, ma quelli che ho trovato 
sono troppo difficili. Ho provato a capire qualcosa del sorgete di 
Linux, ma...boh!

 Linux, ma...boh!
Partire col sorgente di Linux  mi sembra eccessivo. Ma tanto non sul 
fronte C  quanto perché  presupporrebbe che tu abbia chiara la struttura 
di un S.O.  in generale e di Linux  in particolare.
Di fatto  anche per applicazioni di rete o grafiche avresti il problema 
di dover recuperare un po'  di abc  sui protocolli di rete o  interfacce 
utenti etc.  per poter capire cosa si  fa a livello di codice.
A  parte queste osservazioni,  io partirei da  un qualsiasi progetto 
Open Source (
p.es
. cerca su 
sourceforge.net
 )  che risponda a due 
caratteristiche di case:
1. essere semplice e contenuto come codice;
2. avere un qualche interesse per te.
Pian piano ti puoi sempre spostare a  software sempre più  complesso 
per modificarlo o anche solo per vedere come funziona.
Giorgio

Linux, ma...boh!
Be', tu passi da un estremo all'altro :-)

Perche' non provi a guardare i sorgenti delle GNU Coreutils?
Ti ritrovi programmi semplici di cui puoi studiarti il codice e
provare a riprodurre.
Introducono utilizzi pratici sia di librerie standard sia di altre
librerie.
E se trovi dei bachi li puoi aggiustare.

Ok, grazie a tutti, ragazzi. Sourceforge, GNU Coreutils e proverò a 
scrivere un programma di compressione. Mi sembra una sufficiente 
quantità di materiale! Mi metto subito al lavoro. Grazie!

 quantità di materiale! Mi metto subito al lavoro. Grazie!
Ho un'altra domanda: approssimativamente che grado di difficoltà ha la 
scrittura di un compilatore? Dopo aver scritto quello di compressione, 
potrò provarci o sarà ancora troppo presto?

 scrittura di un compilatore? 
Essere ambiziosi non è un difetto, ma rischi di bruciare le tappe :-)
La scrittura di un compilatore è un'operazione molto complessa e richiede
un mare di conoscenze che non riguardano strettamente la programmazione in
un determinato linguaggio. Esistono dei libri che ti spiegano le tecniche
adottabili nella ideazione di un software del genere. Io ti consiglio in
particolare questi due:
http://www.amazon.com/Compilers-Principles-Techniques-Tools-Gradiance/dp/0321547985/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1216729115&sr=1-1
http://www.amazon.com/Modern-Compiler-Design-D-Grune/dp/0471976970
Ti aiuterà anche frequentare il gruppo americano comp.compilers
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


È abbastanza complicato.  Qui puoi trovarne una parte - il solo 
preprocessore - per fartene una idea.
http://giovanni.homelinux.net//development/index.html
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

nikod ha scritto:

Mi serviva appunto sapere quanto complicato fosse, perché non vorrei 
imbarcarmi in un lavoro al di là delle mie capacità. Ci ripenserò fra un 
anno, intanto metto fra i preferiti i link che mi avete dato. Grazie mille!


Se vuoi guardare a qualche sorgente C moderno di progetti attuali e
magari anche contribuire direttamente, fai un salto su:
www.suckless.org
E' una comunita' di cui faccio parte in cui i progetti sono utili (il
progetto principale del gruppo e' un window manager per X window), ma
di dimensioni contenute (dovuto al fatto che ci lavoriamo nei ritagli
di tempo), ma con un occhio all'essere scritti bene (anche se su
alcune cose, per esempio l'uso di size_t, possiamo anche discordare)