Il punto di partenza per l'apprendimento di Java: cosa dovresti sapere e cose che vorrei aver saputo
Pubblicato: 2020-04-14Iniziare a programmare è più facile se fa parte del tuo curriculum universitario. Quindi, non devi scegliere quale lingua imparare, quali argomenti saltare e quali concetti prestare maggiore attenzione.
Quando sono andato al college, il C è stato il primo linguaggio di programmazione da imparare, poi i professori ci hanno tenuto un corso su C++ e in seguito, se lo si desidera, è stato possibile acquisire Java, Python e altri linguaggi.
Tuttavia, quando parlo con gli sviluppatori di software entry-level, non consiglio di dare un calcio alla tua formazione di programmazione con C. Invece, in genere suggerisco di imparare Java: parlerò del perché un po 'più tardi.
Sebbene, secondo me, la comunità Java sia piena zeppa di materiali didattici, gli sviluppatori principianti spesso mi chiedono "Allora, da dove comincio?" oppure “Devo leggere la teoria o iniziare subito a scrivere il codice?”.
Apparentemente, imparare a programmare da soli non è facile. Come sviluppatore esperto, ho deciso di aiutare i colleghi alle prime armi e guidarli attraverso le insidie della curva di apprendimento di Java. In questo post scoprirai quali pratiche cambiano il gioco nell'apprendimento Java, dove molti sviluppatori Java falliscono e come assicurarti di applicare i concetti che padroneggi sul posto di lavoro.
Ma perché Java?
Se il tuo primo istinto è quello di avviare un dibattito con me e spiegare che Python è più semplice o che il C è un modo più tradizionale per imparare lo sviluppo del software, ti assicuro che vedo da dove potresti provenire.
Vedo Java per quello che è oggettivamente, ne riconosco gli svantaggi (velocità ed efficienza della memoria, per esempio) – tuttavia, credo che non ci sia un linguaggio migliore da imparare come sviluppatore entry-level.
Ecco perché sono così appassionato di Java come punto di partenza nella programmazione:
- I concetti di Java sono usati da più linguaggi di programmazione. La programmazione orientata agli oggetti, le variabili tipizzate o il flusso di controllo sono tutti concetti che è possibile utilizzare in seguito quando si lavora in C o C++. Se uno sviluppatore Python sa solo come programmare in Python, avrai un ponte tra Java e altri linguaggi web e mobili (Kotlin, per esempio, deve molte delle sue funzionalità a Java). In termini di versatilità, scegliere Java è sicuramente una vittoria su qualsiasi altro linguaggio.
- La codifica in Java è versatile. Per il tuo primo linguaggio di sviluppo, non vuoi solo una tecnologia redditizia che ti dia competenze e un lavoro. Piuttosto, è nel tuo migliore interesse assicurarti di fare un giro divertente e Java è esattamente quello che stai cercando. Se sei appena agli inizi, la sensazione che C sia più semplice perché devi digitare meno potrebbe perseguitarti (è fuorviante come capirai in seguito). Tuttavia, mentre ricordo i miei giorni di apprendimento del linguaggio di programmazione, nessun'altra esperienza di apprendimento batte l'ingerenza in Java. C'è così tanto spazio per la creazione di creatività e applicazioni di esempio: giochi di ruolo basati su testo, giochi gestiti da console e molti altri. Inoltre, puoi trovare progetti per tutti i livelli di difficoltà: non è necessario apprendere concetti teorici per mesi prima di passare all'apprendimento pratico.
- Linguaggio ampiamente utilizzato. A volte, è così semplice: vuoi imparare un linguaggio che ti permetta di fare qualsiasi cosa e non c'è quasi niente di meglio di Java. Il linguaggio è ottimo per app Web, software, progetti Android e strumenti interni. Dopo aver appreso le basi di Java, avrai la sensazione di poter fare più o meno qualsiasi cosa. Certo, sarà ancora necessario intromettersi in linguaggi con script come JavaScript, tuttavia, non sarebbe così spaventoso come imparare un linguaggio di programmazione da zero una volta che sei almeno al livello di competenza intermedio di Java.
Mercato del lavoro di programmazione Java: qualcosa di buono?

Imparare Java può essere divertente e tutto, ma non sarò senza lavoro e morirò di fame se questa è l'unica lingua che conosco?
Poiché Java è così popolare tra gli sviluppatori entry-level, potresti pensare che tutti sappiano come usarlo e nessuno assumerà più programmatori. Molto probabilmente, stai sperimentando gli effetti classici dell'adescamento, pensando che poiché stai vedendo molto qualcosa, potrebbe essere dolorosamente comune.
Ho raccolto alcune statistiche sul mercato del lavoro Java per dimostrare che c'è molto lavoro per uno sviluppatore ragionevolmente qualificato:
- Java è il linguaggio di programmazione con il punteggio più alto secondo l'ultimo sondaggio di Stack Overflow;
- Uno stipendio medio di uno sviluppatore Java negli Stati Uniti è di $ 79.137, secondo Glassdoor;
- Numero di aperture di sviluppo Java attualmente disponibili su Indeed – 27.049
Se prendi in considerazione le tendenze generali nel mondo tecnologico, come la crescente domanda di talenti tecnologici e la crescente proliferazione di dispositivi Android (Java è un linguaggio di sviluppo Android ampiamente utilizzato), diventa chiaro che non stai finendo i posti di lavoro in qualsiasi momento presto.
Quindi, invece di esitare se provare o meno Java, mettilo insieme e inizia a imparare la lingua oggi.
Cose che vorrei sapere durante il mio viaggio di apprendimento Java
Ai tempi in cui stavo imparando Java, non c'erano la metà degli strumenti e delle risorse, a parte alcune dozzine di tutorial, libri e documentazione ufficiale. Perché penso che gli sviluppatori abbiano le cose più facili ora che ci sono molte risorse, molti programmatori entry-level sono confusi e sopraffatti dalla varietà di strumenti.

Anche se non esiste una strategia scolpita per acquisire competenze nello sviluppo del software, ecco un paio di cose che vorrei che qualcuno mi avesse detto prima.
1. Impara a risolvere i problemi, non a programmare

Vedo molti principianti scorrere tutorial dopo tutorial, raccogliendo schemi e concetti. Tuttavia, mentre questo ti aiuterà a imparare la sintassi Java, sarai comunque lontano dalla mentalità di un programmatore.
Subito dopo aver completato i tutorial di Java e aver dovuto mettere a frutto le mie capacità, sono rimasto confuso e sfidato. Invece di sezionare le applicazioni in parti mobili e vedere come potevo costruirle da zero, continuavo a vedere ogni progetto come un'alta montagna che non avevo modo di scalare.
Fortunatamente, lungo la strada, ho trovato molte risorse che mi hanno aiutato a diventare più sicuro nello sviluppo Java nel mondo reale:
- Pensa come un programmatore: un libro che ti aiuta ad acquisire la mentalità di uno sviluppatore indipendentemente dalla lingua che stai imparando
- Codegym – una piattaforma dedicata specificamente all'apprendimento Java che pone l'accento sull'applicazione pratica di concetti teorici. Grazie a questo, ho scoperto diversi hack utili che mi hanno aiutato a facilitare lo sviluppo del progetto.
- Stack Overflow – so che hai sentito molto parlare di in agguato qui – anche se non consiglio di incollare bit di codice da SO, scorrere i forum ti porta sicuramente un passo più vicino alla mentalità di uno sviluppatore.
2. Ho sottovalutato la tecnologia assistiva
In qualche modo, ignoravo beatamente quanto possano essere utili le librerie e i framework Java. Naturalmente, come sviluppatore principiante, vuoi fare tutto da solo, tuttavia, puoi fare solo così tanto in un giorno e cercare scorciatoie è spesso cruciale.
Se dovessi ricominciare il mio viaggio di apprendimento in Java, sarei molto più accurato nella scelta di un set di strumenti con cui accoppiare la lingua.
Ecco gli strumenti che consiglierei agli sviluppatori di provare:
- JUnit – un comodo strumento di test per i programmatori Java
- JRat: un profiler delle prestazioni Java che consente agli sviluppatori di monitorare l'esecuzione dei loro prodotti;
- Mockito: un framework open source che facilita il mocking di Java;
- Ehcache: uno strumento di memorizzazione nella cache progettato specificamente per la programmazione Java.
Di seguito elencherò le librerie, i framework e le API più essenziali per l'apprendimento Java.
3. Non avevo un piano di apprendimento
Riponendo molta fiducia nei tutorial e nelle risorse online, ho iniziato a imparare Java a testa vuota. Non avevo una sequenza temporale per il mio viaggio, non avevo idea di come avrei usato le mie capacità o una routine di studio quotidiana approfondita. La mia motivazione era semplice e stupida: Java sembrava alla moda, non sapendo che sembrava un errore, quindi perché non lo imparo?
Se stai iniziando con lo sviluppo di software, sii più approfondito su dove vuoi arrivare alla fine della giornata. Non lasciare che l'obiettivo che hai in mente ti accechi: l'apprendimento di un linguaggio di programmazione dovrebbe sempre iniziare con le basi, anche se vuoi diventare uno sviluppatore full-stack, un tuttofare.
In questo momento, se dovessi imparare Java da zero, questa sarebbe più o meno la mia tabella di marcia:
API JDK:
- Java IO
- Collezione Java
- Concorrenza Java
- Giava 8
Framework Java:
- Primavera
- Stivale primaverile
- Ibernazione
- Micronauta
- Microprofilo Eclipse
Biblioteche di prova:
- Cetriolo: facilita i test orientati al business
- Robot Framework: aiuta a ottimizzare i test di integrazione
- JUnity per unit test
- Mockito per il test del mockup.
Per un mockup di apprendimento dello sviluppo Java più dettagliato, dai un'occhiata al grafico seguente.

Assegnerei una scadenza a ciascuno di questi blocchi per assicurarmi di non rallentare e fare progressi.
Conclusione
Quando dico che imparare Java è un viaggio divertente, mi riferisco principalmente alla nostalgia e ai ricordi felici che proverai dopo che sarai esperto. Per quanto riguarda il processo, sperimenterai sia il massimo di ottenere la risposta giusta al problema sia il minimo di non capire cosa diavolo vuole da te la tua risorsa di apprendimento.
Come con qualsiasi apprendimento, padroneggiare un linguaggio di programmazione è sudore e lacrime. Tuttavia, fintanto che persevererai e supererai l'ingombrante ingombro iniziale di Java, il processo di apprendimento diventerà gradualmente più piacevole e meno faticoso.
Hai qualche idea su questo? Fatecelo sapere in basso nei commenti o trasferite la discussione sul nostro Twitter o Facebook.
Raccomandazioni della redazione:
- Avvia le tue abilità JavaScript con questo corso per principianti da $ 13
- 9 deve imparare i mazzi per rimanere aggiornato con Java
- 3 cose che dovresti sapere sull'hosting Java
- Perché la programmazione Java è popolare per le aziende?