Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

19
voti

La biblioteca di EY(2): libri consigliati di informatica.

Indice

Premessa

L'articolo nasce da un incoraggiamento di Piercarlo in modo da recensire alcuni libri di informatica e programmazione, come ha fatto IsidoroKZ nel suo articolo La biblioteca di EY: libri consigliati (e altro) per i libri di elettronica ed altro. In maniera analoga sono ben accettate segnalazioni, consigli e recensioni da parte di altri utenti.

Sistemi Operativi e Reti

Il libro spiega molto bene i concetti fondamentali di progettazione di un sistema operativo, come le varie tipologie, la gestione e sincronizzazione dei processi, threads & multithreading, gestione della memoria e realizzazione dei filesystem, gestione di utenti e sicurezza. Ogni capitolo è accompagnato da vari esercizi di programmazione ed altrettanti vari esempi e riferimenti verso Windows e Linux.


Libro di reti molto completo, fornisce un'ampia panoramica sull'argomento partendo dal livello fisico, i mezzi trasmissivi, hardware e software di rete, topologie, protocolli, fino ad arrivare al livello delle applicazioni internet. La quarta edizione è aggiornata alle evoluzioni più recenti delle reti, disponibile anche in italiano con il titolo "Reti di Calcolatori". Segnalazione e recensione a cura di spud.


Unix & GNU/Linux

Il libro ha un approccio a mio parere pratico, spiega molto bene molti dettagli di funzionamento del sistema, come usare determinate tool predefinite, in quali situazioni usarle e come muoversi all'interno di un sistema Linux, il tutto orientato appunto a chi si accinge ad amministrare un sistema di questo tipo o a chi si avvicina a Linux e dopo averlo installato vuole imparare ad usarlo meglio. Vengono prese in considerazione Debian ed Ubuntu, RedHat e Fedora, Suse. Di questo libro esiste anche la versione Unix, UNIX System Administration Handbook 3rd Edition, però attualmente a quanto sembra è stata fatta una fusione per i due sistemi e l'ultima edizione è intitolata UNIX and Linux System Administration Handbook 4th Edition. Sito ufficiale.


Bellissima risorsa online completamente open source ed altrettanto completa. Come descrive il link, ideale per chi si avvicina al software libero ma anche non, dato che osservando l'indice generale si può osservare la quantità di argomenti trattati. Ottimo lavoro!


Libro interamente orientato al Shell Scripting. Descrive le molte singole tool predefinte che si trovano all'interno di un sistema Unix, oltre ad insegnare ad implementare gli script. Consigliato soprattutto a chi si accinge a dover amministrare un sistema Unix o Unix-like.


Sicuramente ed indubbiamente un'ottima risorsa open source per imparare o famigliarizzare con il shell scripting!


Senza ombra di dubbio un'ottima guida di riferimento interamente in italiano per la programmazione di sistema sotto l'ambiente Linux. Consigliatissimo, al suo interno si trovano praticamente tutte le informazioni necessarie su quali funzioni usare e come usarle, spiega altrettanto molto bene le caratteristiche di funzionamento. Ottimo lavoro.


Un ottimo libro che tratta la programmazione di sistema nell'ambiente Unix. Gli argomenti trattati sono l'I/O, i file system, gestione dei processi e threads, ICP, socket ed altro. Ottimo.


Un ottimo handbook dedicato alla programmazione di sistema in Linux. Dal link è possibile accedere alla lista degli argomenti trattati, i quali sono spiegati molto bene ed è altrettanto accompagnato da molteplici esempi in C. Michael Karrish è attualmente il mainteiner del progetto man-pages. Senza dubbio un buon libro.


Un buon libro, adatto a chi vuole cominciare ad usare i socket di rete in Linux. Gli argomenti trattati vanno dai fondamenti di rete fino alla sicurezza, i concetti sono spiegati veramente bene come molti sono gli esempi in C. Altrettanto un buon libro. Sito ufficiale.


Libro interamente dedicato alla gestione dei processi in C per Linux. Spiega in dettaglio e con chiarezza praticamente tutte le strutture, funzioni e macro usate dal sistema ed anche come usarle. Sicuramente un ottimo libro focalizzato all'argomento.


Indubbiamente la guida di riferimento per molti sviluppatori di driver per il kernel Linux. La versione del kernel di riferimento è vecchia ma comunque al sito si può trovare il link ai cambiamenti della API, o in alternativa si può visitare il Change Log su Kernel Newbies.


Un altro ottimo libro dei pochi in circolazione riguardo all'implementazione dei driver per Linux. A mio parere adotta un approccio più pratico rispetto a Linux Device Drivers, non mancano i molteplici esempi in C dei tipi di driver trattati.

Algoritmi e Programmazione

Il libro è dedicato completamente all'analisi di algoritmi. Al suo interno vi si trova molta matematica quindi bisogna farsi trovare preparati.. A priori non insegna nessun linguaggio di programmazione e l'autore usa l'Assembly dell'architettura MIX per vari esempi di codice. Sicuramente un ottimo libro. Donald Knuth, oltre ad essere famoso per i volumi scritti, lo è altrettanto per i suoi lavori, tra cui TeX. Sito ufficiale del libro.


Libro consigliato a chi si avvicina al mondo della programmazione. L'approccio, come si può leggere dalla recensione di Savannah (link titolo), è a basso livello.


Il libro è orientato alla programmazione in generale. Spiega con alguni esempi di codice i principali algoritmi (ricerca e ordinamento) usati e strutture dati, il debugging, la perfomance e portabilità di un programma, descrive non in maniera approfondita vari linguaggi di programmazione come il C, il C++ Java, Awk & Perl.


Il libro raccoglie al suo interno molti esempi di soluzioni in C per algoritmi di ricerca, ordinamento e strutture dati. Per maggiori informazioni si può consultare il sito ufficiale.


Come da titolo, il primo volume spiega molto bene come e perché lavora quello che ci limitamo a chiamare "computer". Gli argomenti trattati sono le varie rappresentazioni numeriche, come vengono interpretate dalla CPU, così come le istruzioni, i vari tipi di dati (interi e stringhe di caratteri), organizzazione della memoria e vari dispositivi di I/O. Il secondo volume è interamente dedicato alla programmazione ed ottimizzazione del codice, con molteplici esempi in Assembly e C.


Il titolo può essere disorientativo ma in fin dei conti è realistico. Se si è interessati ad approfondire la implementazione di algoritmi usando la logica orientata bit a bit con conseguente ottimizzazione del codice, direi che questo è il libro giusto. Tutti gli esempi riportati sono accompagnati altrettanto da codice C. Al sito ufficale del libro si può altrettanto scaricare l'indice, la correzione d'errata ed il codice sorgente degli esempi in C. Ottimo libro, consigliato soprattutto ai programmatori di firmware.


Linguaggi di Programmazione

Un ottimo libro per chi si avvicina alla programmazione Assembly x86 con Linux dato che l'approccio è tale. L'assembler usato è NASM, quindi si usa la sintassi Intel.


Il libro è molto simile a quello di Jeff Duntemann, con la differenza che invece di NASM come assembler viene usato GAS, l'assembler GNU che fa parte delle gnu-binutils quindi viene usata la sintassi AT&T. Altrettanto un buon libro per chi si avvicina all'Assembly x86, sempre su Linux.

Qui si possono trovare più info sull'Assembly x86.


Fantastica risora online assolutamente free messa a disposizione da Randall Hyde per imparare l'Assembly x86 anche ad alto livello (High Level Assembly) tanto per lo sviluppo sotto Windows come Linux. Invito ai più interessati a farsi un giro al suo interno.


Scritto dagli inventori del linguaggio C, è indubbiamente il testo di riferimento per conoscere i fondamenti dell' ANSI C. Nelle sue quasi 300 pagine spiega molto bene con chiarezza e senza dispersione alcuna le caratteristiche del linguaggio e la libreria standard. È accompagnato da molti esempi ed ogni capitolo è seguito anche da una serie di esercizi. È un mio parere, ma secondo me è un libro che non può mancare nella libreria tecnica di tutti quelli che programmano o si trovano a dover studiare il C. Sito ufficiale.


Anche in questo caso l'autore è il creatore del linguaggio C++, quindi sicuramente uno dei migliori (se non il miglior libro) da usare per imparare il C++. Consigliato senza ombra di dubbio. Sito ufficiale.


Sicuramente una ottima alternativa al libro di Bjarne Stroustrup per studiare ed imparare il C++. Altrettanto altamente consigliato!


Harvey Deitel & Paul Deitel sono molto conosciuti per i loro libri scritti riguardo al C, C++, Java e non solo linguaggi di programmazione. C How to Program 5th Edition è un ottimo libro a mio parere, immagino anche C How to Program 6th Edition. Io ho studiato Java su Java How to Program 6th Edition, al tempo mi sono trovato molto bene, gli argomenti sono spiegati con molta chiarezza ed ogni esempio è altrettanto accompagnato con esempi di codice.


Un ottimo libro consigliato per studiare il linguaggio di programmazione Java. Il libro è molto conosciuto e molto usato.

Sicurezza Informatica

Sicuramente uno dei migliori libri sull'argomento, interamente orientato a Linux. Il libro non insegna ad usare tools vari finalizzati alla sicurezza informatica, ma bensì insegna a come idearli e programmarli, da dove arrivano i software bugs, come trovarli ed implementarli ed altrettanto i segreti di quello che sta dietro al computer hacking. Il tutto è basato sulla programmazione Assembly e C, vi abitua ad usare GDB e non solo, a far più attenzione all'ordine di dichiarazione delle variabili nel codice dipendendo dall'endianess dell'architettura con cui si lavora, a come usare un pò i Berkley socket, le librerie pcap e altro ancora... Come molti altri anche lui accompagna la lettura con molti esempi di codice, altrettanto scaricabile dal sito linkato.

È stato il mio secondo libro che ho comprato relazionato ai computer, ero spinto dalla curiosità e me ne ha tolte parecchie sull'argomento, ma mi sono fermato lì, forse mi piacciono di più i circuiti elettronici. :) Ho un affetto particolare per lui perché lo considero davvero un ottimo libro. Tuttavia, questa recensione non vuole essere un incorraggiamento a fare stupidaggini con il computer perché non apprezzo chi le fa, ma la sua lettura apre gli occhi a molti dettagli che spesso e volentieri passano inosservati. Se non ricordo male ha anche contribuito alla correzzione di vari bug su Linux..

Sicuramente un altro buon libro simile a quello di John Erickson. Non è però orientato solamente a Linux ma anche verso Windows, Solaris ed altri sistemi operativi.

Conclusioni

La scelta e la valutazione di un libro dipende comunque dalle esigenze e da cosa cerca il lettore. I libri che io considero validi per studiare possono altrettanto esserlo o non esserlo per un'altra persona, o perché troppo avanzati o per qualsiasi altro motivo, quindi le recensioni scritte mi piacerebbe fossero lette anche da questo punto di vista. Io solitamente quando mi trovo a cercare un libro, cerco il più possibile informazioni a riguardo, lo confronto con informazioni ottenute rispetto ad altri libri e poi faccio la mia scelta.

Un altro ottimo libro sui sistemi operativi è Operating Systems Design and Implementation by Andrew S. Tanenbaum & Albert S.Woodhull. Putroppo non mi è mai capitato per mano, non l'ho mai aperto e non posso darne una valutazione più approndita. Stesso discorso per i libri orientati a Windows ed altri OS. Io quest'ultimo lo uso solo per LTSPICE, niente di più, meglio dire che non conosco libri a riguardo.

Con questo voglio quindi invitare a inviare segnalazioni e recensioni per MP riguardo a libri che non sono elencati in questo articolo. Saranno pubblicate come altrettanto l'autore della segnalazione e recensione.

Come al solito, sono ben accetti consigli ed opinioni. Spero che gli utenti possano apprezzare l'articolo.

Per ultimo, si ringrazia admin per l'editing dell'immagine principale. :)

Grazie, Simone

17

Commenti e note

Inserisci un commento

di ,

un ottimo articolo, vorrei solo aggiungere una informazione in più sul tuo articolo, avendo sperimentato l'uso del libro Reti e Tannenbaum, posso dire che è un libro quasi totalmente teorico, e che rivela pochi aspetti pratici qua e là. Avendo avuto a che fare con le reti in prima persona consiglio questo libro solo a chi vuole avere una panoramica generale delle reti, e che non si aspetti alcun risvolto pratico da esso. Sono anche io alla ricerca di un buon libro di reti che spieghi a livello applicativo questa branca delle telecomunicazioni per aprirmi nuovi orizzonti su questo campo. A presto.

Rispondi

di ,

Grazie anche a te DSPfra! :)

Rispondi

di ,

Ottimo articolo gohan! Utilissimo :)

Rispondi

di ,

Grazie anche a te TardoFreak!!!

Rispondi

di ,

Brao! OK! Articolo intelligente ed utile.

Rispondi

di ,

Grazie anche a te asdf. Ho aggiunto Appunti di informatica libera, me ne ero dimenticato. :P

Rispondi

di ,

Grazie per l'articolo Gohan, mi torna molto utile in questo periodo :-) .

Rispondi

di ,

De nada, ha sido un placer =)

Rispondi

di ,

Ottima idea Gohan... Muchas gracias!

Rispondi

di ,

Grazie :)

Rispondi

di ,

Ottimo lavoro. Bravo gohan!

Rispondi

di ,

Grazie gohan. -carlo.

Rispondi

di ,

Grazie a tutti e due. Forse me ne sono dimenticato qualcuno, ad esempio quello sulle GTK+ che avevo consigliato in passato a DirtyDeeds etc. Appena ho tempo aggiungo :)

Rispondi

di ,

Ottima idea, bravo gohan!

Rispondi

di ,

gohan, ottimi i riferimenti. Mi voglio addentrare un po' su LINX, mi concentrerò su qualche titolo di quella sezione. Grazie. Paolo.

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.