JavaRush /Java Blog /Random-IT /I migliori libri Java per principianti e altro (2023)

I migliori libri Java per principianti e altro (2023)

Pubblicato nel gruppo Random-IT
Siamo abituati ad un rapido accesso alle informazioni e ad un altrettanto rapido assorbimento. Preferiamo video di cinque minuti alle lezioni approfondite e brevi articoli ai libri. Non affermerò che un buon libro sulla programmazione sostituirà qualsiasi articolo, non è così. E certamente non sostituirà la pratica. Tuttavia, per me personalmente, una vera comprensione delle basi della programmazione è arrivata dopo che, dopo aver risolto centinaia di problemi nel corso di programmazione JavaRush e aver letto un sacco di articoli, ho iniziato a studiare contemporaneamente la teoria dai libri e ad approfondirli in profondità. È da un po' di tempo che cerco il mio personale "miglior tutorial Java per principianti". Di seguito sono riportati diversi libri Java che mi sono stati utili in misura maggiore o minore nelle diverse fasi dei miei studi.

Libri per principianti

In questa sezione ho raccolto i libri che ti serviranno per muovere i primi passi nell'apprendimento della programmazione Java.

1. Dirigetevi prima Java, Kathy Sierra e Bert Bates

Ho iniziato con questo libro non perché sia ​​il mio preferito, ma perché è il più semplice. Questo libro, secondo molti programmatori, è il miglior tutorial Java da zero. Inoltre, è veramente e completamente da zero, cioè è adatto a coloro che hanno appena iniziato e non capiscono bene che tipo di programmazione bestiale sia. Lo ammetto, mi è arrivato troppo tardi. Penso che sia per questo che non ho potuto apprezzarlo. È stato molto piacevole “semplicemente leggerlo”, ma mi ci è voluto molto tempo per cercarvi qualcosa di specifico. Il materiale è presentato in modo vivido, ma piuttosto superficiale (perché è partendo da zero!) e molti argomenti e le spiegazioni necessarie semplicemente non ci sono. Ma il mio amico, a cui è stato ereditato, ne è rimasto entusiasta e ha gridato che questo non era solo il miglior libro di testo Java per principianti, ma un capolavoro mondiale diretto ed è così che dovrebbe essere presentato il materiale complesso.

Vantaggi:

  • Il miglior tutorial Java da zero, per principianti completi, scritto in una lingua viva.
  • Illustrazioni e umorismo fantastici.
  • Spiegazione con esempi di vita reale.

Screpolatura:

  • Molte acque per chi è già entrato nell'argomento.
  • Puzzle ed esercizi non sempre riusciti.

2. Java for Dummies, Barry Bird

Questo libro, devo ammetterlo, mi è venuto in mente già quando lavoravo come programmatore. In una versione precedente dell'articolo sui libri utili, mi è stata posta una domanda al riguardo nei commenti e quando l'ho visto con un tester al lavoro, ho deciso di dargli un'occhiata più da vicino. Java for Dummies di Barry Bird è un libro interessante per principianti che desiderano utilizzare diverse risorse per aiutarli ad imparare. Questo non è un tutorial per principianti, ma piuttosto un primo libro di riferimento per Java. È molto efficace studiarlo parallelamente a lezioni passo passo (come in JavaRush) e (richiesto!) consolidare subito ciò che hai imparato nella pratica. Sulla base della presentazione, ho subito riconosciuto l'autore come insegnante, poiché in alcuni punti fa soste in luoghi inaspettati a prima vista ed esamina le questioni sollevate in modo molto dettagliato. Questo non è un caso: era su queste domande che i suoi studenti inciampavano più spesso. Ma alcuni argomenti sono trattati superficialmente... Tuttavia, questo è un libro per principianti, non dovresti aspettarti profondità da esso. Diciamo che i primi due capitoli vanno bene per i principianti, l'OOP (capitolo 3) è meglio studiato in un altro libro, ma i capitoli 4 (tecniche di programmazione avanzate - spiegazioni su come usare classi e metodi, avvio di raccolte, multithreading, gestione delle eccezioni) e 5 (consigli per evitare errori) Lo considero molto utile e di successo. Inoltre, Java For Dummies è facile da leggere, pieno di esempi colorati e divertenti. Può essere letto facilmente ovunque sulla strada o prima di andare a letto. Se sei soddisfatto dello stile dell'autore, ovviamente. E ricorda: nessun libro al mondo può trasformarti in uno sviluppatore di software. Solo la pratica può. I migliori libri Java per principianti e altro (2023) - 1

Vantaggi:

  • Linguaggio facile.
  • Buoni consigli e una buona introduzione a una serie di argomenti (capitoli 1, 2, 4).
  • Buoni esempi.

Screpolatura:

  • Non tutti gli argomenti sono presentati ugualmente bene.
  • Non a tutti piacerà lo stile dell'autore.

3. Java: Fondamenti di programmazione per principianti assoluti, Nathan Clark

Un altro libro per lettori con zero esperienza di programmazione. Direi che il suo vantaggio principale è la sua natura passo dopo passo. Spiega abbastanza bene i punti che solitamente mettono in difficoltà chi si confronta per la prima volta con la programmazione. Qui imparerai come scegliere un IDE e come scrivere il tuo primo programma. Il libro spiegherà cosa sono Java Development Kit e Java Runtime Environment e fornirà esempi di ogni pezzo di codice. Ma... non esiste una traduzione in russo di questo libro, quindi lo consiglio a chi conosce l'inglese almeno a livello B1. A proposito, ogni sviluppatore deve conoscere l'inglese a questo livello, quindi puoi prendere due piccioni con una fava imparando Java da un libro in lingua inglese. Ci sono abbastanza libri di questo tipo in questo articolo. I migliori libri Java per principianti e altro (2023) - 2

Vantaggi:

  • Un'introduzione fluida alla programmazione e alle funzioni di base del linguaggio Java.
  • Sequenza di presentazione.

Screpolatura:

  • Non esiste una spiegazione approfondita del concetto di programmazione orientata agli oggetti, quindi alcuni esempi pratici possono creare confusione.
  • Non esiste una traduzione russa.

4. Pensa a Java: come pensare come un informatico, Allen Downey e Chris Mayfield

Un altro libro interessante disponibile in inglese. Come notano gli autori, l'obiettivo principale del libro è aiutare i lettori a sviluppare le capacità di pensiero necessarie per risolvere i problemi inerenti all'informatica. Il libro è destinato ai principianti, quindi gli autori iniziano con le nozioni di base che possono essere comprese da chi non ha esperienza di programmazione o conoscenza di Java. È scritto in modo semplice e può essere utile a studenti o autodidatti che desiderano padroneggiare la programmazione e sviluppare capacità di pensiero algoritmico. Come molti altri, il libro inizia con un'introduzione all'OOP. Ogni capitolo contiene sezioni di vocabolario ed esercizi per rafforzare la teoria e padroneggiare le capacità di programmazione. I migliori libri Java per principianti e altro (2023) - 3

Vantaggi:

  • Facile e piacevole da leggere.
  • Il libro presenta concetti di programmazione complessi in modo accessibile e di facile comprensione.
  • Esempi ed esercizi decenti.

Screpolatura:

  • Mancanza di approccio graduale.
  • Alcuni lettori potrebbero rimanere con delle domande dopo alcune sezioni poiché non sempre c'è una spiegazione dettagliata di determinati argomenti.

5. Giava. Una guida per principianti, Herbert Schildt

Dopo aver esaminato questo libro di testo, ho pensato che sarebbe stato adatto a coloro a cui piace una presentazione del materiale più tradizionale rispetto a Headfirst, ma sono anche alla ricerca di un tutorial partendo da zero. In alcuni punti, la presentazione del libro è molto dettagliata, ricordando una documentazione ampliata e tradotta con buoni esempi visivi. A volte, per quanto mi riguarda, l'autore oltrepassa il limite e comincia a masticare troppo, la lettura diventa noiosa... e all'improvviso - salto mortale - e quasi all'istante si perde qualche punto piuttosto complesso, e si rimane completamente disorientati cercando di capire cosa e dove ti sei perso. Tuttavia, non ci sono molti posti simili nel libro e conosco persone che credono che la Guida per principianti sia il miglior tutorial Java per coloro che non sanno ancora nulla. Personalmente ho trovato il libro non uniforme. Diciamo che inizio a ordinare le raccolte e invece di una spiegazione umana mi danno il compito di creare autonomamente un Set basato su array. Bel problema, ma prima vorrei capire meglio quali sono le collezioni standard! Sebbene questo libro, come il precedente, sia considerato un libro di testo per principianti, la mia esperienza di insegnante suggerisce che è buono solo in combinazione con altri materiali: per uno switcher di discipline umanistiche, non tutto sarà semplice e chiaro. “Una guida per principianti” è adatta a chi ha in qualche modo studiato programmazione (ad esempio all’università), ci ha rinunciato da tempo e allo stesso tempo apprezza lo stile di presentazione dell’autore. È particolarmente piacevole che il libro di testo sia costantemente aggiornato e copra le funzionalità di Java 8 e l'edizione attuale (decima) tenga conto di JDK 9 e JDK 10. I migliori libri Java per principianti e altro (2023) - 4

Vantaggi:

  • Presentazione tradizionale e ponderata delle nozioni di base.
  • Buoni esempi.

Screpolatura:

  • Ci sono dei salti da "troppo masticato" a "detto di sfuggita"
  • È noioso in alcuni punti.
A proposito, Herbert Schildt ha un altro famoso libro sulla programmazione: "Java. The Complete Guide". Questo è un libro di testo completamente diverso, più fondamentale. Passiamo ad esso.

Guide per chi continua o ricomincia

I seguenti libri sono più adatti a coloro che hanno già una certa conoscenza della programmazione e desiderano immergersi un po' più a fondo in Java o iniziare a esercitarsi in modo più approfondito. Ci sono manuali, libri di riferimento e tutorial su funzionalità Java nuove o relativamente nuove a cui le persone di solito non approfondiscono subito, così come libri su Android (più precisamente, un libro su Android).

6. Giava. La guida completa, Herbert Shildt

Lo confesso: una volta scaricavo questo libro da Internet per valutarlo e poi comprarlo o non comprarlo. Non è uno scherzo, 1300 pagine di testo! E il prezzo non è meno impressionante del volume. Ho fatto lo stesso con la “Biblioteca professionale” in due volumi di Kay Horstmann (ne parleremo più avanti). Guardando al futuro, dirò che ho scelto la seconda. Perché? Perché nel libro Java. La Guida Completa" Ho riscontrato gli stessi difetti della "Guida per Principianti". A volte le spiegazioni vengono masticate, a volte sono accartocciate, ma allo stesso tempo non sono solo accartocciate, ma in qualche modo accartocciate verbosamente. Forse questo è lo stile dell’autore e penso che a qualcuno piacerà, o meglio, secondo il suo pensiero. Nel complesso, Java 8: The Definitive Guide è un buon libro di riferimento per Java. Ma personalmente mi è piaciuta ancora di più la presentazione delle stesse cose in un altro libro. I migliori libri Java per principianti e altro (2023) - 5

Vantaggi:

  • Guida completa. Sembra che ci siano tutti gli argomenti che un principiante, e non solo un principiante, deve conoscere.
  • Spiegazioni dettagliate.

Screpolatura:

  • Molta acqua (ma ad alcuni potrebbe piacere!).
  • La traduzione russa non è delle migliori.

7. Giava. La Biblioteca del professionista, Kay S. Horstmann, Harry Cornell

I libri di Schildt e Horstmann vengono spesso paragonati tra loro. Sia l'uno che l'altro hanno fan fedeli. Per me, il libro in due volumi di Horstmann è il miglior libro di testo su Java. È diventato un libro di riferimento per me ai livelli principiante e intermedio di JavaRush. Quando non capivo un argomento mi rivolgevo principalmente a Horstmann e lui mi chiariva molte cose. Il libro tratta tutto, dalla sintassi alla programmazione multithread, alla localizzazione dei programmi e all'utilizzo di XML. E non lasciare che il nome "Biblioteca professionale" ti spaventi (è quello che mi ha spaventato), le nozioni di base sono trattate abbastanza bene. Inoltre, è utile rileggerlo periodicamente per rinfrescare e organizzare le proprie conoscenze.

Vantaggi:

  • Con un numero sorprendente di pagine, c'è poca acqua (a differenza di Schildt).
  • Contiene tutto ciò di cui i principianti hanno bisogno.
  • Espande Java 8, tiene conto delle modifiche in JDK 9, 10 e 11.
  • Buona presentazione degli argomenti su collezioni e farmaci generici.
  • Si abbina bene con JavaRush. Vai all'argomento, risolvi i problemi, prima o poi non capisci qualcosa: guarda Horstmann, riprova.

Screpolatura:

  • Alcuni potrebbero trovare il libro asciutto.
  • Nessuna pratica.
  • Traduzione russa con errori.

8. Java 8 in azione: Lambda, stream e programmazione in stile funzionale

Con l'ottava versione sono arrivate nel mondo Java nuove funzionalità così importanti e diverse da quelle precedenti che è consigliabile studiare questi argomenti separatamente da tutto il resto. Inoltre: fino ad ora non c'è stato ancora un aggiornamento linguistico più importante. Abbiamo quindi davanti a noi Java 8 in azione, un interessante libro di testo su Java 8. È importante subito sottolineare che è pensato per chi conosce già le basi del “solo” Java. Ciò che rende questo libro così valido è che contiene tanti problemi pratici vari e utili. Gli esempi includono esempi di codice sia "corretti" che "errati". La cosa principale è non confondere.

Vantaggi:

  • Orientato alla pratica.
  • Mostra la differenza tra il codice corretto e quello errato.

Screpolatura:

  • Sono necessarie risorse aggiuntive per acquisire una comprensione più approfondita dei fondamenti di Java.

9. Core Java for the Impatient (terza edizione) o Java SE 9. Corso base, Kay Horstmann

Nell'originale, questo libro si chiama Core Java for the Impatient, ovvero "Java Core for the impaziente". Non so perché questo non sia stato incluso nella traduzione. Secondo me questo aiuterebbe il libro a non perdersi tra i suoi pari. C'è una traduzione della seconda edizione del libro in russo e in inglese esiste già una terza edizione, aggiornata a Java 17. Il libro è organizzato come una guida di riferimento rapida ed è molto comodo da usare per trovare la risposta a una domanda specifica se hai dimenticato qualcosa o hai precedentemente programmato in altre lingue. Ciò che mi è particolarmente piaciuto è che i testi sono molto brevi, essenzialmente senza masticare e senza acqua. Il libro fornisce una buona descrizione delle espressioni lambda, dei flussi di input/output e dei moduli. Tuttavia, questo libro non spiegherà cosa sia una variabile o un ciclo. Ma ci sono, inoltre, come ho già menzionato, strutture fondamentali, raccolte, annotazioni, generici, logging, multithreading: tutto ciò con cui lavorerai nella pratica. Francamente, questo libro mi piace molto e anche adesso lo guardo a volte. Ricorda solo che questo libro non è adatto a chi non sa nulla di programmazione. È più probabile per chi ha già studiato qualche altra lingua o lo stesso Java, ma per molto tempo e non completamente.

Vantaggi:

  • Brevi blocchi di informazioni. Tutto è pertinente.
  • Non ci sono argomenti inutili.
  • Un'ottima selezione di argomenti attuali da studiare per i programmatori Java principianti.
  • Esempi di successo.

Screpolatura:

  • Il libro non è adatto a chi inizia ad imparare a programmare da zero.

10. Giava. Manuale dello sviluppatore, Benjamin J. Evans, David Flanagan

Un buon libro di consultazione universale, un'alternativa ai libri di Horstmann. Contiene informazioni utili sia per i principianti che per gli sviluppatori Java che continuano ad immergersi nella programmazione. L'ultima edizione al momento in cui scrivo questa frase (la settima) è basata su Java 11. Il libro non è lungo, ci sono molti esempi, vengono discusse le API Java e le migliori pratiche di sviluppo. Il libro è di facile lettura e da esso puoi apprendere le basi del linguaggio, utili tecniche di programmazione e persino le nuove tendenze in Java.

Vantaggi:

  • Breve e buona sintesi.
  • C'è tutto ciò di cui un programmatore principiante ha bisogno.
  • Buona descrizione degli strumenti moderni.
  • Esempi di successo.

Screpolatura:

  • Non sempre esiste una traduzione adeguata della terminologia in russo.

11. Il sistema di moduli Java, Nikolay Parlog

Questo libro è disponibile in inglese e russo. È una guida molto dettagliata al sistema modulare Java. L'autore sostiene che è molto più semplice creare un'applicazione affidabile e sicura se il codice è confezionato in blocchi ordinati. I moduli in Java sono uno strumento relativamente nuovo, i cambiamenti architettonici fondamentali hanno interessato il core Java solo a partire dalla versione 9. E anche se ci sono sempre più progetti con moduli, ci sono persone che sono abituate a lavorare alla vecchia maniera e non ne sanno nulla innovazioni interessanti. Dopo aver letto questo libro, capirai come monitorare il modo in cui interagiscono i diversi file JAR e trovare facilmente le dipendenze mancanti. Se prendi sul serio i progetti Java modulari o hai bisogno di imparare i moduli per lavorare, dai un'occhiata a questo libro.

Vantaggi:

  • La descrizione più completa dei vantaggi del sistema modulare.
  • Ottimi esempi e strategie per la migrazione ai moduli.

Screpolatura:

  • Ha poche descrizioni sintattiche, il che è difficile per i principianti.

12. Java moderno in azione: Lambda, flussi, programmazione funzionale e reattiva

Anche se Java esiste da molti anni, il linguaggio acquisisce costantemente nuove funzionalità. Naturalmente siamo tutti umani e i programmatori a volte ignorano nuove funzionalità e approcci e sono riluttanti a implementarli nei progetti Java. Libri come Modern Java in Action sono progettati per aiutare a risolvere questo problema. Questa guida tratta in dettaglio gli argomenti che vengono trattati più spesso nei brevi corsi di formazione con tutor. Vorrei notare che di solito tale formazione dura 1-3 giorni e le informazioni sono molto concentrate. Quindi i programmatori alle prime armi semplicemente affogano nelle nuove informazioni e non le assimilano. E questo libro ti porterà passo dopo passo dalle espressioni lambda ai riferimenti ai metodi, alle interfacce funzionali e ai thread e, se riesci, a risolverlo attentamente.

Vantaggi:

  • Questo libro contiene tutte le funzionalità moderne di Java quindi è molto utile.
  • Presentazione coerente di concetti complessi.
  • Gli autori confrontano le nuove tendenze con quelle tradizionali. Quindi questo libro può essere consigliato anche ai principianti.

Screpolatura:

  • Per chi conosce già qualcosa sull'argomento, il libro potrebbe sembrare un po' prolisso.

13. Responsabile innanzitutto dello sviluppo Android

Java è il linguaggio nativo di Android. Pertanto, una delle opzioni più popolari per avviare lo sviluppo di applicazioni in questo linguaggio è creare un'applicazione Android. Questo libro (esiste una traduzione russa "Head First Programming per Android") è un altro della serie Head First. Quindi i tratti familiari della serie sono abbastanza inerenti a questo manuale. Cioè, qui troverai molte immagini, uno stile semplice, un gran numero di esercizi senza approfondire seriamente l'essenza. Ciò significa che se vuoi comprendere appieno lo sviluppo di app Android, potresti dover fare qualche ricerca aggiuntiva e approfondire le fonti. Ma se vuoi iniziare rapidamente a programmare per questo sistema, questo è il posto che fa per te.

Vantaggi:

  • Stile semplice, immagini, compiti vari ed esercizi di progetto che possono coinvolgere attivamente il lettore nel processo di apprendimento.
  • Semplicità e accessibilità: gli autori cercano di spiegare concetti complessi in termini semplici, rendendoli più facili da comprendere per i principianti.

Screpolatura:

  • Obsolescenza: i rapidi cambiamenti tecnologici nel mondo della programmazione e di Android potrebbero far sì che il libro non contenga più gli approcci e gli strumenti attuali.
  • Alcuni argomenti vengono trattati in modo troppo superficiale.

14. Imparare Java: introduzione alla programmazione nel mondo reale con Java

Devo dire subito che questo libro non è destinato ai principianti. Ne avrai bisogno se conosci Core Java almeno a livello base e sai scrivere semplici applicazioni. Se è così, questo libro ti aiuterà a comprendere i vari concetti complessi del linguaggio Java e a spiegare come tutte queste classi, librerie, espressioni lambda, input/output, ecc. vengono utilizzate nella vera programmazione industriale. Il libro è basato sulle versioni moderne di Java e contiene esempi abbastanza semplici ma utili per il lavoro reale. L'ultima sezione parla dell'uso diretto di Java per applicazioni web e server web, qualcosa che non si vede spesso nei libri. A proposito, questo libro esiste anche nella versione russa (“Programmazione in Java”, Mark Loy).

Vantaggi:

  • Versioni moderne di Java.
  • Esempi di applicazioni web e server.

Screpolatura:

  • Difficile per i principianti.

Classico senza tempo

I libri di cui scrivo di seguito possono essere definiti testi sacri per principianti e javisti intermedi.

15. Java efficace, Joshua Bloch

È un tesoro, non un libro, e si concentra sui principi di base del linguaggio di uno dei suoi autori, Joshua Bloch. Molto probabilmente hai già utilizzato le sue librerie (nella Java Collection, ad esempio). Faccio subito una prenotazione: i principianti assoluti, ad eccezione di alcuni speedrunner prodigi, non hanno bisogno del libro Effective Java. Innanzitutto, è meglio padroneggiare la sintassi e acquisire almeno un po’ di pratica di programmazione, per così dire, capirci qualcosa e poi affrontare la creazione di Joshua Bloch. Il libro sarà utile per coloro che vogliono comprendere veramente Java, formare l'approccio giusto quando programmano in questo linguaggio e capire non solo come farlo, ma tutto il resto che deve essere fatto esattamente in quel modo. E anche per coloro che vogliono comprendere a fondo l'OOP (in linea di principio, queste sono cose correlate). Questo libro è il miglior libro di testo su Java nel contesto dell'approccio orientato agli oggetti alla programmazione.

Vantaggi:

  • Una brillante presentazione di materiale sul tema dell'OOP.
  • Vengono fornite le migliori pratiche di programmazione.
  • L'autore conosce Java molto bene dall'interno.

Screpolatura:

  • Difficile per i principianti.

16. Filosofia Java, Bruce Eckel

Il titolo di questo libro parla da solo. Questo è un altro alfa e omega per tutti coloro che vogliono conoscere Java! In questo libro troverai esempi validi e chiari, e da essi sarà chiaro come funziona Java. È difficile per me dire quale dei due libri - "La filosofia di Java" o "Programmazione efficace" - sia migliore. Direi che Eckel è un po' più adatto ai principianti, mentre Bloch richiede una certa esperienza. Ho letto per la prima volta il capitolo di "Filosofia Java" quando stavo appena iniziando a imparare JavaRush (penso che fosse elencato come raccomandato a uno dei primi livelli). Allora non mi andava bene. Ma dopo il livello 10 o 12, era una canzone! E, dirò, una canzone molto utile. Ci sono tornato più tardi, quando sono arrivato alla Programmazione Efficace. Dirò questo: lasciamo che Bloch ed Eckel parlino della stessa cosa, ma in modi diversi, e forniscano esempi diversi.

Vantaggi:

  • Una presentazione approfondita dei principi Java da parte di un professionista.
  • Sarà utile per coloro che stanno passando da altri linguaggi: ci sono molti paragoni con C++, ad esempio.
  • Mi sembra che tu possa iniziare a leggerlo dal livello 10, ma Eckel – un po’ più tardi.

Screpolatura:

  • Traduzioni russe pessime.

Libri di programmazione generale

I seguenti libri non sono direttamente correlati a Java, ma saranno utili allo sviluppatore principiante, poiché aiutano a sviluppare il pensiero di un programmatore e a comprendere come funziona un computer, i principi e i concetti fondamentali della programmazione, cos'è il codice pulito e come scrivere Esso.

17. Problemi classici di informatica in Java

Questo libro di David Kopec può essere tradotto come "Problemi classici nell'informatica in Java". Ed è destinato sia agli sviluppatori esperti che ai principianti che conoscono un linguaggio di programmazione e stanno già iniziando ad affrontare problemi del mondo reale. O per coloro che sono interessati a compiti non standard per sviluppare il pensiero del programmatore. Oppure per chi vuole migliorare le proprie competenze e ottenere buoni risultati nei colloqui. Alcuni compiti sembrano insormontabili, ma il mondo della programmazione è più piccolo di quanto sembri. Molto probabilmente, qualcuno ha già risolto il tuo problema irrisolvibile. Nel suo libro, David Kopec ha raccolto le soluzioni, i principi e gli algoritmi già pronti più utili. Classic Computer Science Problems contiene 55 esempi pratici che coprono gli argomenti più attuali: algoritmi di base, vincoli, intelligenza artificiale, ecc. Argomenti principali del libro:
  • Ricorsione, memorizzazione e manipolazione di bit.
  • Ricerca, grafico e algoritmi genetici.
  • Clustering (metodo k-means), reti neurali e ricerca competitiva.
  • Vantaggi:

    • Tutti gli algoritmi utili e gli approcci ad essi in un unico libro.
    • Esempi in Java.

    Screpolatura:

    • Alcuni esempi sono difficili da comprendere per i principianti.

    18. Prima di tutto, impara a programmare di Eric Freeman

    Ho già menzionato due volte i libri Head First in questo articolo. Ecco il terzo! Come tutti i libri della serie, è scritto per principianti assoluti ed è dedicato alla programmazione in quanto tale. Se hai già incontrato la serie in precedenza, quando aprirai questo libro riconoscerai facilmente lo stile distintivo di Head First. Consiglio questo libro se hai bisogno di aiuto con i concetti chiave della programmazione in un modo divertente e di facile comprensione.

    Vantaggi:

    • Fornisce una conoscenza generale della programmazione.

    Screpolatura:

    • Utilizza esempi in Python (poiché è considerato il linguaggio più semplice per i principianti).

    19. Codice pulito, Robert S. Martin

    Un programmatore alle prime armi non presta molta attenzione allo stile del suo codice. È molto più concentrato sulla lotta agli errori. Tuttavia, migliorare il tuo stile è molto importante per il tuo potenziale lavoro: è molto difficile lavorare sui progetti con una persona che non aderisce al codice pulito. Il suo codice è difficile da leggere e mantenere. Questo libro ti mostrerà la differenza tra codice buono e cattivo e ti insegnerà le regole di base per scrivere codice pulito e leggibile utilizzando le migliori pratiche. Chiedi a un professionista e ci sono buone probabilità che consiglierà vivamente questo libro a tutti gli aspiranti sviluppatori.

    Vantaggi:

    • Buoni esempi e suggerimenti per creare codice leggibile.
    • Uno dei pochi libri nel suo genere.

    Screpolatura:

    • L'autore a volte è troppo scrupoloso.

    20. Codice: il linguaggio segreto dell'informatica, Charles Petzold

    Questo libro può essere consigliato sia a uno scolaro interessato ai computer sia a un programmatore con molti anni di esperienza che desidera comprendere meglio l'informatica. Mi sono imbattuto nella versione russa di questo libro al liceo e sono rimasto molto ispirato. Spiega anche la progettazione dei circuiti utilizzando esempi molto semplici e tutto inizia con polli e una semplice torcia. L'autore copre una vasta gamma di argomenti come elettricità, circuiti, relè, sistema binario, logica, porte, microprocessori, codice e altri per comprendere gradualmente come funziona la tecnologia informatica. Dopo aver letto questo libro capirai cosa c'è dietro i pixel del tuo desktop e cosa succede ogni volta che utilizzi i tuoi dispositivi.

    Vantaggi:

    • Immergiti profondamente nel livello più basso dell'hardware.

    Screpolatura:

    • A volte l'immersione è troppo profonda :)

    21. Intervista Cracking the Coding, Gail Laakmann McDowell

    Questo è un libro molto interessante per coloro che hanno intenzione di cercare lavoro come sviluppatore di software nel prossimo futuro. Contiene un'ampia gamma di domande e soluzioni pratiche che potrebbero esserti poste durante un colloquio. Naturalmente tutto scorre, tutto cambia. E le tendenze nei “test” degli sviluppatori stanno cambiando. Tuttavia, questo libro aiuterà il principiante a capire cosa aspettarsi dal colloquio. Tuttavia, consiglio di rispolverare questa conoscenza nei forum e nelle comunità Java.

    Vantaggi:

    • Preparazione per le interviste di programmazione nel mondo reale.

    Screpolatura:

    • Non aiuterà senza fonti aggiuntive.

    Algoritmi e strutture dati

    La conoscenza degli algoritmi aiuta a risolvere i problemi di sviluppo del software in modo efficiente e ottimale. Sapere come scegliere le giuste strutture dati aiuta a migliorare le prestazioni, ridurre i costi di memoria e fornire programmi più stabili ed efficienti. Eppure bisogna conoscerli almeno per superare i colloqui. Quindi di seguito sono riportati alcuni libri utili.

    22. Algoritmi oscillanti, Aditya Bhargava

    Un libro molto interessante e abbastanza semplice sulle basi degli algoritmi. Spiega algoritmi popolari come l'ordinamento e la ricerca in forma grafica. Sono libri come questo che ti aiutano a comprendere la bellezza e la complessità degli algoritmi e ad amarli con tutto il cuore. Il libro è ricco di immagini: l'autore preferisce un approccio visivo alle spiegazioni. Il libro è diviso in brevi sezioni con vari esempi per garantire che le nuove informazioni vengano assorbite nelle giuste proporzioni.

    Vantaggi:

    • Buone spiegazioni con grafica.
    • Interessante il complesso.

    Screpolatura:

    • Esempi in Python.

    23. Introduzione agli algoritmi, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

    Introduzione agli algoritmi (titolo russo “Algorithms: Construction and Analysis”) è un libro di grande successo sugli algoritmi per coloro che amano una presentazione coerente e approfondita del materiale. Tutti gli esempi contenuti nel libro sono scritti nel cosiddetto pseudocodice, cioè non in un vero linguaggio di programmazione, ma in uno sintetico, intuitivamente comprensibile a tutti. Sebbene il libro sia pubblicizzato come una "introduzione agli algoritmi", gli argomenti trattati sono molto ampi e i concetti di strutture dati e algoritmi sono spiegati abbastanza bene.
    • Ordinamento: uno studio dettagliato di vari algoritmi di ordinamento come ordinamento per inserzione, ordinamento per scambio, ordinamento rapido, ordinamento per unione, ecc.
    • Ricerca: ricerca in avanti, ricerca all'indietro, ricerca binaria e altre.
    • Alberi: alberi binari, alberi rosso-neri, alberi AVL e altri.
    • Grafi: attraversamento del grafico, ricerca del percorso più breve, albero scheletro minimo, ecc.
    • Programmazione dinamica.
    Ma il libro ha anche i suoi difetti. A mio avviso, l’Introduzione si concentra troppo sull’aspetto teorico degli algoritmi, ma a volte manca di dettagli riguardanti la loro implementazione pratica. L'originale è scritto in un inglese abbastanza semplice (consiglio la versione inglese!).

    Vantaggi:

    • Un'eccellente presentazione teorica dei più importanti algoritmi di ordinamento, ricerca, alberi, grafici.
    • Inglese facile.

    Screpolatura:

    • Pratica insufficiente, concentrarsi sugli aspetti teorici dell'argomento.

    24. Pensa alle strutture dati: algoritmi e recupero di informazioni in Java (Allen B. Downey)

    Questa è una guida utile all'utilizzo delle strutture dati nella programmazione con esempi in Java. Il libro si concentra sulla pratica, che aiuta a comprendere rapidamente come implementare e utilizzare algoritmi e strutture dati in programmi reali. L'autore spiega concetti complessi di algoritmi e strutture dati in modo accessibile e comprensibile, quindi se hai almeno competenze di programmazione di base, questo libro è adatto a te. Ogni sezione contiene un'introduzione all'argomento, esempi, spiegazioni aggiuntive ed esercizi per consolidare la teoria. La cosa particolarmente interessante è che ogni capitolo contiene problemi di progettazione che consentono ai lettori di applicare ciò che hanno imparato per creare le proprie implementazioni di algoritmi e strutture dati.

    Vantaggi:

    • Materiale conciso con esempi utili.
    • Disponibilità delle attività del progetto.

    Screpolatura:

    • Potrebbe essere un po' difficile per i principianti.
    • Non tutti gli argomenti sono trattati con la stessa profondità.

    25. Algoritmi, Robert Sedgewick, Kevin Wayne

    Uno dei libri più famosi sulla programmazione, scritto da veri esperti nel loro campo, che hanno cresciuto più di una generazione di ingegneri del software. Se non sei intimidito da una presentazione accademica approfondita e da una completa immersione nell'argomento, se sei pronto a comprendere veramente gli algoritmi e ad analizzarli una volta per tutte, studia questo libro. È una buona scelta per studenti, insegnanti e sviluppatori. Tuttavia, per i principianti, potrebbe essere necessario più tempo e impegno per acquisire una buona conoscenza del materiale contenuto nel libro. Gli autori combinano con successo la teoria con esempi pratici in Java, il che rende più facile per i lettori comprendere concetti complessi.

    Vantaggi:

    • Presentazione chiara ed esauriente.
    • Molti esempi in Java.
    • Varietà di argomenti: il libro copre quasi tutto ciò che devi sapere sugli algoritmi.

    Screpolatura:

    • Presentazione accademica eccessiva.
    • Potrebbe essere difficile studiare il libro da soli senza un supporto adeguato e
    Commenti
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION