Qual è il modo migliore per imparare Java da zero e quante ore devo metterci?
Dipende da cosa intendi per "imparare Java". Noi puntiamo ad un livello intermedio. Il modo migliore di gran lunga è quello di decidere un tipo di programma che si desidera creare, e poi fare un camion attraverso la sua creazione. Fate sempre prima "Hello World". Non c'è una vera programmazione con quello. Basta scaricare l'SDK, vedere online come appare Hello World di Java tramite una ricerca su Google, copiarlo, incollarlo ed eseguirlo.
In seguito, capire cosa significa tutto in Hello World. Cosa significa "classe"? Cosa si può fare con essa? Perché avete bisogno di una classe? Prova a capirne il senso con qualche esempio su internet. "public static void main(String args[]) {..." ...Che cos'è? È certamente qualcosa che contiene l'istruzione che stampa Hello World. Cosa significa ognuna di queste parole? Acquisite una comprensione di base di ciascuna.
A questo punto dovreste poi sperimentare un po'. Cosa servirebbe per fare qualcosa con gli argomenti della vostra funzione principale? Provate a fare una calcolatrice che prenda un numero, un + o un -, e poi un altro numero, e stampi l'output. Dovrete convertire gli argomenti "String" in valori "int" per questo. Impara come funziona la digitazione in Java. Basta avere la sensazione di trovare le informazioni necessarie per far funzionare qualcosa in Java.
Se siete arrivati fin qui, probabilmente avete abbastanza fiducia per tuffarvi in qualcosa di più sostanziale. Avete imparato che potete lavorare su alcuni compiti di base e capire le cose. Tutto Java è così. Potrebbe non sembrare logico, ma una volta che hai rotto le cose, tutto avrà un senso sul perché ogni cosa sta facendo quello che sta facendo.
Quindi è allora che ti immergi in un libro. Un libro facile da usare con esempi pratici con cui si può giocare. Non uno che cerca di sfidarvi con i puzzle. Andate in una libreria e trovatene uno che sia focalizzato sull'insegnarvi delle cose, e che vi dica altre cose che potete provare, e come. Si spera che vada oltre a come creare un test JUnit e vi introduca ad un IDE (suggerito Eclipse, perché è gratuito e potente) e forse anche ad uno strumento di compilazione come Maven.
Ora leggete il libro da cima a fondo. Specialmente presta attenzione alle spiegazioni del perché qualcosa è come è. Mentre imparate le caratteristiche di più alto livello come le HashMaps, cercate di immergervi un po' per conto vostro e imparate gli interni delle cose. Come sono immagazzinate le cose in memoria in modo che funzionino come funzionano? Come cambia internamente una HashMap quando vi si aggiungono molti dati? La garbage collection è utile, ma come funziona esattamente? Come si può controllare quando le cose vengono raccolte e quando vengono lasciate stare? Si può cambiare il modo in cui la garbage collection funziona in altri modi? Continuate a fare domande mentre leggete questo libro da cima a fondo.
Leggete l'ultima edizione di Josh Bloch's Effective Java, da cima a fondo. Scusate, ma è importante.
Il resto della vostra esperienza Java può facilmente provenire dai vostri progetti, ma non abbiate paura di tracciare i progetti di altre persone, e capire come tutto funziona, e perché hanno preso le decisioni che hanno preso. C'è un sacco di codice open source là fuori con cui armeggiare.
Vuoi che ti faccia una stima in ore per tutto questo? Non mi piacciono le stime in ore. Parleremo in settimane, dove ogni settimana è di 40 ore. La prima settimana può essere dedicata a impostare e sperimentare con Java. Leggendo un libro e facendo gli esercizi e le indagini collaterali lungo la strada... Gli darei 12 settimane. Poi per passare attraverso e comprendere completamente il libro di Josh Bloch, forse altre 5 settimane? Poi prendere il tuo progetto serio... varia molto in base a quello che scegli, ma io ci metto altre 12 settimane per metterlo in piedi e farlo funzionare in qualche forma. Cos'è, tipo 7 mesi o giù di lì? Se sei così concentrato su Java per 7 mesi, sì, sarai abbastanza solido.
Articoli simili
- Perché alcune persone usano "o'clock" per le direzioni, come a ore 12 (proprio di fronte), a ore 6:30 (proprio dietro), o a ore 9 (a sinistra)?
- Quante ore al giorno sono 30 ore alla settimana in termini di lavoro?
- Cosa devo installare, Java 10 o Java 8? C'è una differenza?
- Fare un editor di testo in Java è un buon progetto per imparare Java?