X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=pref.tex;h=2fd679208be9093d5f011230222dfab3163cb33b;hp=31adf174864221032e6e14e11c99cec0d3d37fd7;hb=46d99fe1ba3465af43877a5ce09712831246687f;hpb=2bb235e9ba8e8d532251205d30b82455dc119894 diff --git a/pref.tex b/pref.tex index 31adf17..2fd6792 100644 --- a/pref.tex +++ b/pref.tex @@ -20,8 +20,9 @@ un programma. Esiste però un altro campo, diverso dalla documentazione e dai manuali, in cui avere a disposizione testi liberi, aperti e modificabili è essenziale ed -estremamente utile: quello della didattica e dell'educazione. E benché questo -sia citato dalla FDL non è altrettanto comune trovarlo messo in pratica. +estremamente utile: quello della didattica e dell'educazione. E benché anche +questo campo sia citato dalla FDL non è altrettanto comune trovarlo messo in +pratica. In particolare sarebbe di grande interesse poter disporre di testi didattici in grado di crescere, essere adattati alle diverse esigenze, modificati e @@ -29,32 +30,44 @@ ampliati, o anche ridotti per usi specifici, nello stesso modo in cui si fa per il software libero. Questo progetto mira alla stesura di un libro il più completo e chiaro -possibile sulla programmazione in GNU/Linux (che per brevità chiameremo spesso -Linux, anche nei casi in cui sarebbe comunque più appropriato il nome -compelto). Ovviamente essendo i concetti in gran parte gli stessi, esso -dovrebbe restare valido anche per la programmazione in ambito Unix generico, -pur restando l'intenzione di approfondire in maniera specifica le -caratteristiche peculiari di GNU/Linux. - -L'idea è quella di riuscire a ottenere alla fine un testo utilizzabile per -apprendere la programmazione, sotto GNU/Linux della stessa qualità dei testi -del compianto R. W. Stevens (è un progetto molto ambizioso ...). - -Infatti benché le man pages e il manuale delle librerie del C GNU siano una -fonte inesauribile di informazioni (da cui si è costantemente attinto nella -stesura di tutto il testo) la loro struttura li rende totalmente inadatti ad -una trattazione che vada oltre la descrizione delle caratteristiche -particolari dell'argomento in esame (in particolare lo \textit{GNU C Library - Reference Manual} non brilla certo per chiarezza espositiva). +possibile sulla programmazione in un sistema basato su un kernel Linux. +Essendo i concetti in gran parte gli stessi, il testo dovrebbe restare valido +anche per la programmazione in ambito Unix generico, ma resta una attenzione +specifica alle caratteristiche peculiari del kernel Linux e delle versioni +delle librerie del C in uso con esso, ed in particolare per le glibc del +progetto GNU (che ormai sono usate nella stragrande maggioranza dei casi). + +Nonostante l'uso nel titolo del solo ``Linux'', (che si è fatto sia per +brevità sia perché il libro ha a che fare principalmente con le interfacce del +kernel e dei principali standard supportati delle librerie del C), voglio +sottolineare che trovo assolutamente scorretto chiamare in questo modo un +sistema completo. Il kernel infatti, senza tutte le librerie e le applicazioni +di base fornite dal progretto GNU, sarebbe sostanzialmente inutile: per questo +il nome del sistema nella sua interezza non può che essere GNU/Linux. + +L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo +utilizzabile per apprendere i concetti fondamentali della programmazione di +sistema della stessa qualità dei libri del compianto R. W. Stevens (è un +progetto molto ambizioso ...). + + +Infatti benché le pagine di manuale del sistema (quelle che si accedono con il +comando \cmd{man}) e il manuale delle librerie del C GNU siano una fonte +inesauribile di informazioni (da cui si è costantemente attinto nella stesura +di tutto il testo) la loro struttura li rende totalmente inadatti ad una +trattazione che vada oltre la descrizione delle caratteristiche particolari +dello specifico argomento in esame (ed in particolare lo \textit{GNU C Library + Reference Manual} non brilla per chiarezza espositiva). Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di R. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la trattazione dei vari argomenti in una sequenza logica il più esplicativa -possibile. +possibile, corredata, quando possibile, da programmi di esempio. Il progetto prevede il rilascio del testo sotto licenza FDL, ed una modalità di realizzazione aperta che permetta di accogliere i contributi di chiunque -sia interessato. +sia interessato. Tutti i programmi di esempio sono invece rilasciati sotto GNU +GPL. Dato che sia il kernel che tutte le librerie fondamentali di GNU/Linux sono scritte in C, questo sarà il linguaggio di riferimento del testo. In