Qualcuno ci ha mandato un articolo che mette a confronto Java e Python con l’obiettivo (assurdo) di capire quale dei due linguaggi sia il migliore. La questione, così posta, non ha ovviamente senso ma ci ha spinti a farci una domanda: se uno studente venisse da noi e chiedesse se deve partire da Java o da Python, cosa risponderemmo? E con quali ragioni?
Java e Python sono due strumenti diversi, con una storia diversa, e anche diversi obiettivi. Insomma, non è che perché due ingredienti che hai in dispensa sono entrambi gialli, e magari entrambi salati, sono per forza adatti alla stessa ricetta. Al di là dei vari punti di collegamento esistenti, un loro confronto in questo senso è veramente improprio.
Proviamo comunque ad affrontare rapidamente la questione, dedicandola in particolare a quelle persone che si stanno avvicinando adesso al settore e potrebbero essere fuorviate.
Iniziamo col dire che mettere in competizione le tecnologie, specialmente se si parla di linguaggi di sviluppo general-purpose, è inutile e genera una discussione piuttosto sterile. Un po’ perché, come abbiamo accennato, i due linguaggi hanno orientamenti diversi e un po’ perché ci andrebbero di mezzo troppi parametri soggettivi: ti piace? Ti ci trovi bene? Non sono domande banali o accessorie: quel linguaggio dovrai usarlo per anni, dovrai approfondirlo e studiarlo continuamente per restare aggiornato o aggiornata.
Inoltre, e questo forse è il punto più importante è che un confronto del genere diventa sempre meno significativo e, anzi, sempre meno adatto a tempi in cui si cerca l’interazione tra diverse tecnologie. L’affermarsi di architetture come quelle a microservizi, ma in generale su cloud, e lo sviluppo di tecnologie web per qualsiasi stack associato ad un particolare linguaggio ha creato una situazione in cui si usa un insieme eterogeneo di linguaggi. Le aziende scelgono il loro stack tecnologico in base alla loro storia professionale: chi ha investito per anni su Java difficilmente lo cambierà, a meno che non sia chiaramente conveniente per qualche causa di forza maggiore. Analogalmente chi avesse investito tanto su C# difficilmente passerà a Java se non costretto dalla necessità.
Quindi… meglio Java o Phyton?
La risposta semplice è: entrambi, dipende da quale riesci a padroneggiare meglio e con quale riesci a realizzare a costi contenuti e nel tempo giusto il prodotto desiderato. Ma la vera domanda è: lo stack che sto per scegliere mette a disposizione del programmatore gli strumenti adatti a seguire tutte le buone pratiche di test, sistema di build, continuous integration… ?
Per essere ancora più chiari: se a farci la domanda Java o Phyton? Fosse uno studente che si sta avvicinando al mondo della programmazione noi risponderemmo: scegli lo strumento che ritieni essere più nelle tue corde. Il lavoro di studio e aggiornamento sarà costante e faticoso, quindi rendilo piacevole, interessante. Se a farci la stessa domanda fosse una persona con un progetto in mente che sta cercando lo strumento più adatto, allora risponderemmo: prova ad allargare un po’ la visuale. Considera tutto quello che dovrai fare, tutte le fasi del progetto, tutti i tools di cui avrai bisogno. In questo modo sai sicuro di fare una scelta più oculata ed efficace.