Mandatory locking
[gapil.git] / pref.tex
index 80246532c3be33645eca52d5ac3f22bef72843de..2fd679208be9093d5f011230222dfab3163cb33b 100644 (file)
--- a/pref.tex
+++ b/pref.tex
@@ -1,16 +1,18 @@
 \chapter{Prefazione}
+\label{cha:preface}
 
 Nelle motivazioni in cui si introduce la GNU Free Documentation License (FDL)
-(reperibili su http://www.gnu.org/philosophy/free-doc.html) si dà una grande
-rilevanza all'importanza di disporre di buoni manuali, in quanto la fruibilità
-e la possilità di usare appieno il software libero, vengono notevolemte
-ridotte senza la presenza di un valido manuale altrettanto liberamente
+(reperibili su \href{http://www.gnu.org/philosophy/free-doc.html}
+{http://www.gnu.org/philosophy/free-doc.html}) si dà una grande rilevanza
+all'importanza di disporre di buoni manuali, in quanto la fruibilità e la
+possibilità di usare appieno il software libero vengono notevolmente ridotte
+senza la presenza di un valido manuale che sia altrettanto liberamente
 disponibile.
 
-E come per il software libero è anche in questo caso è di fondamentale
-importanza la libertà di accedere ai sorgenti (e non solo al risultato
-finale, sia questo una stampa o un file formattato) e la libertà di
-modificarli per apportarvi migliorie, aggiornamenti, etc.
+E, come per il software libero, anche in questo caso è di fondamentale
+importanza la libertà di accedere ai sorgenti (e non solo al risultato finale,
+sia questo una stampa o un file formattato) e la libertà di modificarli per
+apportarvi migliorie, aggiornamenti, etc.
 
 Per questo la Free Software Foundation ha approntato una licenza apposita per
 la documentazione, che tiene conto delle differenze che restano fra un testo e
@@ -18,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
@@ -27,41 +30,62 @@ 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 da qui in avanti spesso
-chiameremo semplicemante linux per brevità). 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à (è un
-progetto molto ambizioso ...) dei testi del compianto R. W. Stevens. 
-
-Infatti benché le man pages e il manuale delle librerie del C della GNU siano
-una fonte enorme 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 il manuale delle glibc 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 Advanced Programming in the Unix Environment e Unix
-Network Programming) per rendere in una sequenza logica il più esplicativa
-possibile la trattazione dei vari argomenti.
+R. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
+trattazione dei vari argomenti in una sequenza logica il più esplicativa
+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.
-
-Dato che lo scopo del progetto è la produzione di un libro si è scelto di
-usare latex come "ambiente di sviluppo" del medesimo, sia per l'impareggiabile
-qualità tipografica ottenibile, che per la congruenza dello strumento sia sul
-piano pratico che su quello filosofico.
-
-Il testo sarà, almeno inizialmente, in italiano.
+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
+particolare il compilatore usato per provare tutti i programmi e gli esempi
+descritti nel testo è lo GNU GCC. Il testo presuppone una conoscenza media del
+linguaggio, e di quanto necessario per scrivere, compilare ed eseguire un
+programma.
 
+Infine, dato che lo scopo del progetto è la produzione di un libro, si è
+scelto di usare \LaTeX\ come "ambiente di sviluppo" del medesimo, sia per
+l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
+strumento, tanto sul piano pratico, quanto su quello filosofico.
 
+Il testo sarà, almeno inizialmente, in italiano.
 
 
 
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: