JavaRush /Java Blog /Random-IT /I 10 migliori libri di programmazione per principianti
Max Stern
Livello 35
Нижний Новгород

I 10 migliori libri di programmazione per principianti

Pubblicato nel gruppo Random-IT
Ho un collega che ha condotto molte interviste tecniche per futuri Javaisti. Una volta gli ho chiesto cosa influenza la decisione di assumere un candidato senza esperienza reale quando si sceglie tra persone con competenze linguistiche approssimativamente uguali. Data la situazione del mercato, penso che questa domanda sia rilevante per molti di voi. I 10 migliori libri sulla programmazione per principianti - 1"Passione per la tecnologia, capacità di scegliere l'opzione migliore per risolvere un problema, erudizione informatica generale, comprensione di ciò che lo attende al lavoro" - questa è stata la sua risposta. Una volta ho descritto in un articolo i libri di programmazione per principianti che mi hanno aiutato a imparare Java. In questo articolo, mi concentrerò sulle pubblicazioni che aiuteranno un programmatore alle prime armi ad acquisire quella stessa erudizione IT, comprensione del lavoro futuro e anche a semplificare il compito di scegliere la soluzione migliore. Cioè, trova un lavoro ed eseguilo nel miglior modo possibile fin dall'inizio. Ho compilato questo elenco in base alle mie preferenze, quindi potrebbe essere in qualche modo soggettivo. Esistono sia libri di testo classici di programmazione per studenti che libri di riferimento per programmatori di tutte le generazioni.

Miglioramento del codice e della produttività

Scrivere semplicemente il codice non è sufficiente. È importante scriverlo bene, poterlo migliorare, ma anche capire come si sviluppa in generale. I seguenti libri per programmatori principianti e altri hanno aiutato più di una generazione di specialisti ad affrontare il difficile processo tecnologico di sviluppo del software.

Programmatore pragmatico. Da artigiano a maestro (Andrew Hunt, David Thomas)

Titolo originale: The Programmatic Programmer from From Journeyman to Master di Andrew Hunt e David Thomas I 10 migliori libri sulla programmazione per principianti - 2Se non hai letto questo libro, molto probabilmente ti sei imbattuto più volte in citazioni su forum e risorse specializzate. L'immagine di un programmatore pragmatico in questo libro è così chiara e idealizzata che... si può definirlo un romantico, non importa quanto paradossale possa sembrare. Tuttavia, i consigli del libro sono pratici e pertinenti, nonostante la sua età avanzata. Non so a cosa paragonare “The Pragmatist Programmer” nel mondo dei libri di programmazione. Gli analoghi più vicini fuori da questo mondo sono l '"Antico Testamento" o qualche libro di cucina fantastico. Nella “Pragmatica” tutto è molto specifico e massimamente applicabile nella pratica. A volte si arriva alla banalità (ad esempio, la sezione sulla comunicazione efficace contiene le regole base del galateo aziendale), ma a volte i consigli del libro sono insostituibili, soprattutto se uno sviluppatore alle prime armi non ha un mentore paziente e attento. Questi sono suggerimenti sulla ripetibilità del codice, sulla prototipazione e sulla stima. O un promemoria dell'impossibilità di creare un programma perfetto. Ci sono anche spunti tecnici utili legati, ad esempio, al debug del codice, allo unit test o alla velocità degli algoritmi... in breve, quello che serve per prepararsi alla carriera di programmatore.

Refactoring Miglioramento del codice esistente (Martin Fowler)

Titolo originale: Refactoring: Improving the Design of Existing Code di Martin Fowler, con Kent Beck I 10 migliori libri sulla programmazione per principianti - 3Se chiedi a qualcuno di elencare i migliori libri di programmazione di tutti i tempi per potenziare la carriera, qualcuno menzionerà sicuramente "Refactoring". Qualcuno potrebbe dire che questo libro è obsoleto e per certi versi avrà ragione. È stato scritto in un'epoca in cui il refactoring non era ancora una regola universale e alcune delle verità in esso contenute sono ovvie per gli aspiranti programmatori di oggi. Tuttavia, le tecniche di refactoring sono descritte così bene e in dettaglio (in alcuni punti, direi anche in modo dettagliato) che ogni principiante vi troverà qualcosa di utile. Qualche anno fa è uscita un'edizione aggiornata del libro e sono state aggiunte nuove tecniche, il che è fantastico. Inoltre, gli esempi contenuti in questo libro sono scritti in Java. L'unico lato negativo che posso menzionare è la verbosità. Comunque consiglio il libro.

Codice pulito (Robert Martin)

Titolo originale Clean Code: A Handbook of Agile Software Craftsmanship di Robert C. Martin I 10 migliori libri sulla programmazione per principianti - 4Questo libro, sebbene più nuovo del precedente, è diventato anche un classico dei libri sulla programmazione. "Zio Bob", come viene talvolta chiamato Robert Martin nella comunità di programmazione globale, è uno degli autori del manifesto Agile, nonché di alcuni dei principi della moderna programmazione "pura", ad esempio SOLID. Uno dei principali leitmotiv del libro può essere considerato... empatia o semplicemente un buon atteggiamento verso tutti coloro che dovranno lavorare con il tuo codice (incluso te stesso in futuro). La maggior parte delle regole del “Clean Code” si basano su questo semplice principio e sul buon senso. La maggior parte delle regole e dei consigli sembrano molto corretti, di quelli che ti girano intuitivamente in testa, ma non è facile formularli chiaramente. Tuttavia, si può discutere con alcuni pensieri dell’autore: a volte è estremamente categorico. Ad esempio, scrive che un buon codice non ha bisogno di commenti. Ciononostante il libro è assolutamente da leggere.

Lavorare in modo efficace con il codice legacy (Michael Feathers)

Titolo originale Working Effectively with Legacy Code di Michael Feathers I 10 migliori libri sulla programmazione per principianti - 5La vita non ti ha preparato per questo... No, davvero: se stai solo imparando, non puoi immaginare quanto sia doloroso lavorare con codebase legacy, che sono stati probabilmente scritti dal nonno di Bill Gates. Questo codice è spesso scritto in modo completamente diverso da quello a cui sei abituato ed è documentato così male che a volte vorresti trovare il suo autore e... Ahimè: la vita di un programmatore Java su grandi progetti è molto spesso associata al supporto legacy. Questo libro può aiutarti con gli aspetti tecnici dell'utilizzo del codice antico, ma può anche aiutarti a venire a patti con il tuo destino. E sì, sono serio. Questo libro ti sarà utile se hai gli occhi puntati su un'azienda di outsourcing o di prodotto con grandi progetti.

Testa prima. Modelli di progettazione (Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson)

Titolo originale Head First Design Patterns: A Brain-Friendly Guide di Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson I I 10 migliori libri sulla programmazione per principianti - 6design pattern sono quelle regole logiche di buona forma che, se non le studi nel tempo, ti verranno in mente ( oppure no...) e che si trasformano letteralmente nel superpotere di un programmatore alle prime armi se inizi a guardarli il prima possibile. Sì, all'inizio è utile giocare con un progetto personale relativamente complesso e provare a suddividerlo tu stesso in sottoattività... e alla fine trovare lo stesso schema. Tuttavia, quando si tratta di lavoro, non sempre c’è abbastanza tempo per gli esperimenti. Quando ho ottenuto lo stage, sapevo molto poco dei pattern: mentre studiavo a JavaRush, ho semplicemente saltato tutte queste fabbriche, singleton, iniezioni, dipendenze, pensando che l'avrei capito quando necessario. Tuttavia, è stato necessario capirlo molto rapidamente, ed è stato il libro “Head First. Design Patterns” mi ha aiutato in questo. È scritto facilmente, pieno di illustrazioni e umorismo... Penso che la presentazione dell'argomento “design pattern” sia molto importante: può essere presentata in un modo molto noioso, oppure può essere presentata come in Head First. Un'ottima aggiunta a "Clean Code" e/o "Refactoring"!

Architettura del computer e informatica generale

Quanto è importante per un futuro programmatore comprendere l'architettura del computer, sapere come sono strutturati i sistemi operativi e come sono strutturati i database? Non è un dato di fatto che questa conoscenza ti sarà utile nel tuo lavoro. Ma ti aiuteranno sicuramente a dimostrare la tua passione per il campo IT e la conoscenza IT. E, cosa più importante: sapere come funziona tutto ti aiuterà a risolvere meglio i problemi. Informazioni al 100%. Quindi ecco altri due libri per aiutarti.

Codice (Charles Petzold)

Titolo originale Code: The Hidden Language of Computer Hardware and Software di Charles Petzold I 10 migliori libri sulla programmazione per principianti - 7La prima edizione di "Code" ha visto il mondo all'inizio degli anni 2000, ma in realtà sarebbe potuta apparire prima o dopo - e sarebbe stata comunque rilevante. Il fatto è che in questo libro il funzionamento di un computer viene spiegato a un livello molto, molto basso, a cominciare da come funzionano quegli stessi zeri e uno, e il primo esempio tecnico è il circuito di una torcia, che può essere considerato il più semplice computer a bit... No, non pensi che tutto nel libro sia molto primitivo. Anzi, esattamente il contrario... Descrive i circuiti dei computer, con i comandi, il funzionamento della memoria e dei sistemi operativi nella loro essenza. Forse è stato dopo averlo letto che ho capito come funzionano i computer. Anche se l’architettura e il set di istruzioni del processore cambiano e la larghezza di banda della memoria aumenta, in sostanza i computer funzionano esattamente allo stesso modo. Un programmatore Java ha bisogno di questa conoscenza? Pochissime persone ne avranno bisogno direttamente nel loro lavoro. Ma indirettamente, spesso sono stato aiutato nel mio lavoro dal fatto di aver capito come funziona effettivamente il tutto.

Introduzione all'informatica (Glenn Brookshire, Dennis Brilov)

Titolo originale Computer Science: An Overview di Glen Brookshear e Dennis Brylow I 10 migliori libri sulla programmazione per principianti - 8Questo libro mi è venuto in mente all'università, quando studiavo le basi dell'informatica. Solo io ho ricevuto la traduzione della sesta edizione, e attualmente è attuale la tredicesima edizione. Il libro è un corso base di informatica che viene insegnato da molti anni nelle università degli Stati Uniti e di altri paesi. La copertura del materiale in esso contenuto è molto ampia: architettura delle macchine, sistemi numerici, elaborazione dei dati, sistemi operativi, principi di costruzione di database, strutture di dati, strutture di file e così via. Non tutte le sezioni del libro sono scritte ugualmente bene. Ad esempio, una volta ero molto confuso dalle sezioni sui metodi di progettazione e sui database, ma le sezioni sui sistemi numerici, sui calcoli bit a bit, sull'architettura del PC e sulle strutture dei dati mi hanno davvero colpito. La cosa più bella del libro è l'enorme numero di esercizi con le chiavi. Oltre agli studenti, un libro del genere è probabilmente necessario soprattutto agli autodidatti senza formazione tecnica per colmare le lacune e farsi un'idea dell'informatica in generale.

Algoritmi e strutture dati. E ancora un altro attacco!

Dato l’alto livello raggiunto dalla programmazione moderna, la conoscenza degli algoritmi è diventata meno importante. Ora è sufficiente utilizzare la libreria richiesta e non scervellarsi su come ordinare al meglio l'array. Tuttavia, dovrai comunque scervellarti al lavoro, e più di una volta. Ricordate il punto "la capacità di scegliere la migliore soluzione possibile" tra i requisiti per un programmatore alle prime armi? Quindi, qualunque cosa si dica, considero una buona formazione algoritmica un eccellente aggiornamento per trovare soluzioni ottimali. Pertanto, i prossimi due libri riguardano loro. A proposito di algoritmi.

Stiamo scuotendo gli algoritmi. Una guida illustrata per programmatori e curiosi Aditya Bhargava

Titolo originale: Grokking Algorithms: Una guida illustrata per programmatori e altre persone curiose di Aditya Y. Bhargava I 10 migliori libri sulla programmazione per principianti - 9L'autore stesso scrive all'inizio del libro che gli algoritmi non gli sono venuti subito in mente, e ha provato a scrivere "Grokking Algorithms" così che sarebbe facile da leggere. È progettato per i programmatori alle prime armi, cioè coloro che sanno scrivere "ciao, mondo" e sanno cosa sono int, string, loop, branch e array. Bene, può visualizzare l'array sullo schermo. La conoscenza richiesta della matematica è approssimativamente al livello di 6-7 classi della scuola secondaria senza fronzoli. E questo è il primo vantaggio serio del libro. Non cerca di immaginare il lettore come uno studente di matematica, come fanno molte pubblicazioni sull’argomento. Cioè, se hai paura della matematica, degli algoritmi, hai già provato a imparare questi ultimi e non hai capito nulla, questo libro è perfetto per la tua riabilitazione ai tuoi occhi. Il secondo punto positivo è che nel libro si parla di qualcosa che potrebbe essere utile nella pratica (capirlo è certamente vero). Inizia con una spiegazione dell'essenza della ricerca binaria e dell'efficienza, letteralmente sulle dita e con molte immagini. In terzo luogo, il libro contiene molte domande ed esercizi (gli esempi di codice sono in Python, ma questo non è così importante). Un punto che può essere positivo per alcuni, ma negativo per altri: il libro non pretende di essere un libro di consultazione onnicomprensivo. Diciamo che degli algoritmi generalmente accettati per lo studio, ce ne sono solo due qui: l'algoritmo di inserimento inefficiente e l'efficiente algoritmo Quicksort. Non so perché l’autore non dovrebbe prendere in considerazione altri algoritmi, ad esempio bolla o fusione. In effetti, l'algoritmo di fusione è menzionato nel libro, ma brevemente, senza analisi e solo in confronto al Quick Sort. Con altri argomenti tutto è esattamente lo stesso. Ci sono nozioni di base che sono trattate molto bene, ma a volte vuoi davvero una continuazione più approfondita, ma semplicemente non ce n'è una. In una parola, questo è un libro molto semplice, dopo di che, molto probabilmente, vorrai trovare un libro in cui tutto sia descritto più seriamente. Ad esempio, quello seguente.

Algoritmi in Java (Robert Sedgwick, Kevin Wayne)

Titolo originale: Algorithms di Robert Sedgewick e Kevin Wayne I 10 migliori libri di programmazione per principianti - 10In effetti, questo libro può sia affascinare che spaventare. Ti spaventerà almeno con il suo volume di... molte pagine e una certa natura accademica. Pertanto, se non sei incline ad esso, accademici, o non ti senti sicuro in matematica (scuola superiore, gli elementi più semplici di matematica superiore per ingegneri), allora è meglio non iniziare con questo libro. Non ci sono molti termini matematici, ma l'approccio stesso presuppone un simile modo di pensare. Ma dopo il libro precedente, perché no. Ti darà una guida. Il primo capitolo in alcuni punti riassume la conoscenza di Java e definisce alcune strutture dati. È meglio leggerlo in modo selettivo, ma non sarebbe male studiare in modo sufficientemente dettagliato il secondo e il terzo capitolo. Anche il resto è pieno di informazioni interessanti e approfondite su grafici e stringhe. Direi che cose come questa sono MOLTO utili nel plasmare la mentalità della programmazione. Per quanto riguarda la presentazione, si sente che l'autore è un insegnante, ma è abituato a lavorare con persone per lo più interessate e preparate. Quindi sii paziente e leggi. E risolvi anche i problemi, qui ce ne sono moltissimi. A proposito, su Coursera puoi trovare un corso sugli algoritmi realizzato dagli autori del libro.

Conosci la tua struttura

E infine, un altro libro. E ancora: utile.

Primavera in azione (Craig Walls)

Titolo originale: Spring in Action di Craig Walls I 10 migliori libri di programmazione per principianti - 11Un libro molto famoso con una copertina altrettanto famosa con un “uomo in gonna” che in realtà non indossa una gonna. Francamente, imparare la primavera da un solo libro è un compito molto difficile, anche se provi a provare tutto in pratica in una volta. A proposito, può essere estremamente difficile capire come farlo dopo aver letto questo o quel capitolo. Ho lavorato con questo libro quando ho ottenuto uno stage presso un'azienda e, se utilizzato in questo modo, aiuta molto. Inoltre, anche oggi, lavorando già come programmatore, ci torno costantemente. In breve, con il suo aiuto puoi farti un'idea generale del framework Java principale.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION