Tra Java e Python, quale è meglio imparare prima e perché?
Ho affrontato lo stesso dibattito. Stavo decidendo tra C++, Java e Python. Ero nuovo nella programmazione, quindi non avevo molta esperienza che mi aiutasse a decidere in base al know-how tecnico. Il mio razionale era che C++ era troppo vicino al metallo e che avrei avuto una curva di apprendimento molto più ripida dei tre. Così l'ho tolto dalla lista. Poi ho guardato Python. Ad essere onesti, il motivo di rottura per me era il fatto che devi rimbalzare avanti e indietro tra la versione 2.x e 3.x a seconda di quando il tuo codice è stato scritto. Non riuscivo a capire come qualcuno, da qualche parte, avesse detto - ah nessuno se ne accorgerà. Sentivo anche che i linguaggi scriptati e non tipizzati sarebbero stati più lenti e meno robusti. Così ho scelto Java. Sono contento di averlo fatto. Ecco alcune cose che ho imparato e che hanno rafforzato la mia soddisfazione per la scelta di Java.
- Se volete fare programmi a riga di comando allora usate Basic per quanto mi riguarda. Se volete applicazioni professionali che abbiano una GUI e possano essere usate da altri, allora Java con JavaFX è il vostro amico. È un'estensione di Java che esegue tutto il vostro codice GUI in thread separati. Potete creare una GUI FXML e poi controllarla con una classe di controller Java. Non potrebbe essere più pulito di così. E la funzionalità degli oggetti controller e la gamma creativa sono infinite.
- L'API Java Concurrency rende così facile sviluppare applicazioni multi-thread che hanno una robusta gestione della memoria e il controllo dei thread. All'inizio non pensavo di aver bisogno del multi-threading. Ma man mano che le mie applicazioni diventavano più complesse era un must assoluto. Diventa anche essenziale quando si ha una GUI che ha intensi calcoli in background e non si vuole bloccare la GUI mentre i numeri vengono analizzati. Semplicemente eseguite il compito dei numeri come un thread eseguibile e la vostra GUI è libera.
Questi sono i punti principali che vedo come vantaggi per Java rispetto a Python. Lo svantaggio di Java è che non c'è così tanto codice disponibile per diversi tipi di analisi statistica o di apprendimento automatico. Per esempio, se volete eseguire una funzione di modellazione ARIMA automatica (un gioco da ragazzi in Python o R), allora dovete praticamente comprare qualcosa o costruirvela da soli.
Io uso ampiamente R per lo sviluppo e il test del modello. Poi eseguo il modello in Java che è semplice.
Si può arrivare a questo. Se volete uno strumento a riga di comando con cui fare ricerca, allora Python o R o altri programmi con script possono essere i migliori. Se volete sviluppare una vera applicazione che può essere distribuita e usata da altri, allora Java è una buona scelta.
Articoli simili
- Fare un editor di testo in Java è un buon progetto per imparare Java?
- Quale linguaggio di programmazione dovrei imparare prima - Javascript o Python come principiante per creare un'applicazione desktop?
- È consigliabile imparare Tkinter in Python per avanzare la propria carriera o per ottenere una migliore offerta di lavoro come sviluppatore Python?
- Quale lingua è meglio imparare nel 2020, Kotlin o Java?