Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sorgenti C per pivelli

0 views
Skip to first unread message

nikod

unread,
Jul 18, 2008, 11:18:30 AM7/18/08
to
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.

Alberto

unread,
Jul 18, 2008, 11:59:00 AM7/18/08
to

nikod

unread,
Jul 18, 2008, 12:28:57 PM7/18/08
to
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!

Giorgio Pastore

unread,
Jul 19, 2008, 12:47:36 PM7/19/08
to
nikod wrote:
... 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!

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

Andrea Laforgia

unread,
Jul 19, 2008, 1:47:34 PM7/19/08
to
On Fri, 18 Jul 2008 18:28:57 +0200, nikod <niko...@yahoo.it> wrote:

>Ti ringrazio, ma questi sono eccessivamente semplici, per ultrapivelli.

Il fatto è che la tua richiesta è troppo generica e non è facile
consigliarti. Magari puoi sperimentare per conto tuo, ponendoti degli
obiettivi e cercando di raggiungerli. Queste sfide con sé stessi a
volte sono molto stimolanti :-)

>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.

Un buon esercizio è provare a scrivere un programma di compressione.
Ti consiglio l'algoritmo di Huffman. Non è complicato e ti può aiutare
ad approfondire molti argomenti.

>Ho provato a capire qualcosa del sorgete di
>Linux, ma...boh!

Be', tu passi da un estremo all'altro :-)

fnegroni

unread,
Jul 19, 2008, 6:42:16 PM7/19/08
to
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.

nikod

unread,
Jul 20, 2008, 7:29:44 PM7/20/08
to
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!

nikod

unread,
Jul 22, 2008, 8:03:45 AM7/22/08
to
nikod ha scritto:

> 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!

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?

Andrea Laforgia

unread,
Jul 22, 2008, 8:19:38 AM7/22/08
to
nikod ha scritto:

> Ho un'altra domanda: approssimativamente che grado di difficoltà ha la
> 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


Giovanni

unread,
Jul 22, 2008, 8:35:21 AM7/22/08
to

È 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

unread,
Jul 22, 2008, 9:03:46 AM7/22/08
to
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!

fnegroni

unread,
Aug 1, 2008, 8:49:02 AM8/1/08
to

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)

0 new messages