Il miglior linguaggio di programmazione da imparare ora

Il modo migliore per capire i computer e piegarli alla nostra volontà è imparare a parlare la loro lingua in modo che capiscano i nostri comandi. Le persone che amano i romanzi fantasy a volte immaginano di imparare incantesimi e incantesimi magici. Le persone di mentalità pratica utilizzano un linguaggio più fondato per rappresentare la struttura logica di numeri e dati. In ogni caso, si tratta di capire quale sequenza di sequenze di tasti e clic del mouse farà saltare il computer attraverso cerchi metaforici ed eseguirà danze virtuali.

Ogni scuola, MOOC e sito di formazione deve adottare una prima lingua per i giovani padawan. Alcuni luoghi, come la fiacca Harvard, si aggrappano ancora all'era C degli anni '70, ma molte scuole oscillano tra JavaScript, Python e Java. Uno è nascosto in ogni browser, uno è la scelta pulita delle scienze sociali e uno è la preferenza ricca di tipi di persone con una mentalità più matematica.

Uno è la scelta migliore? Uno è chiaramente migliore degli altri? O hanno tutti la stessa probabilità di mandare un numero considerevole di studenti a urlare nei loro cuscini durante la notte? Esaminiamo i migliori motivi per imparare Java, Python o JavaScript.

Java è classico

Il test Advanced Placement ha scelto Java molto tempo fa, quando Java era giovane e in piena espansione. Forse Java non ha mai raggiunto l'apice della sua traiettoria iniziale, quando tutti sembravano presumere che sarebbe stato completamente dominante, ma rimane la spina dorsale di molti siti Web, smartphone, televisori e piccoli dispositivi.

La scelta di una lingua con un forte seguito consente allo studente di saltare su un carro già completamente fornito di sofisticati strumenti di sviluppo. Inoltre, ci sono miliardi di righe di codice open source che lo studente può studiare, rivedere ed estendere per il proprio lavoro. Si stanno unendo a un grande movimento ed è facile per loro adattarsi.

Python è nuovo

In effetti Python non è così nuovo - il progetto è iniziato più di 30 anni fa - ma sembra nuovo perché il suo successo è arrivato lentamente. Solo di recente Python è scoppiato e ha trovato una diffusa adozione da parte di programmatori occasionali. La novità significa che le scuole che stanno adottando Python stanno creando nuovi piani di lezioni, scrivendo nuovi esami e sviluppando nuovi mazzi di diapositive. Non stanno scavando alcune vecchie e polverose domande degli anni '90 con riferimenti a Pets.com e MySpace.

Il nuovo corso AP, chiamato Computer Science Principles, consente all'insegnante di scegliere il linguaggio del computer e molti scelgono Python per la sua freschezza. La novità può essere superficiale, ma tutti i linguaggi sono solo una sintassi intelligente che nasconde la struttura decisionale if-then-else del codice assembly.

Tutto questo successo sta creando un ciclo di feedback positivo. L'edizione di novembre 2020 dell'indice Tiobe ha segnato la prima volta che Python è salito nello slot numero due (dietro C), riconoscendo come il linguaggio stesse diventando più popolare di Java.

JavaScript è ovunque

È nel browser e il browser è la base per il desktop, il telefono e tutti quei chioschi che vedi ovunque. Nell'ultimo decennio, JavaScript ha preso il sopravvento sui server Web poiché le app Web Node.js sono diventate il modo più popolare per gli sviluppatori di scrivere "codice isomorfico" che può essere eseguito sia sui client che sulle server farm. JavaScript ha praticamente la stessa età di Java eppure ci sono voluti anni prima che le persone lato server scoprissero il suo potere. È nuovo e vecchio allo stesso tempo.

Java viene digitato

Potrebbe non piacere passare il tempo a specificare il tipo di ciascuna variabile, ma non ci vuole molto tempo per fare clic su tre tasti per aggiungere "int" al codice. Quando lo fai, ottieni tutta la potenza che deriva dal consentire al compilatore di ricontrollare immediatamente il tuo codice e trovare gli stupidi errori prima che venga distribuito. I linguaggi con controllo del tipo ci costringono a pensare in modo più rigoroso alla logica del nostro codice, e questa è una lezione essenziale per i nuovi programmatori. La struttura dei tipi di Java riduce i bug e crea un codice migliore.

Python non è digitato

Gli amanti del linguaggio digitato sono intelligenti e scrivono un buon codice, ma se pensi che il tuo codice sia abbastanza buono da funzionare senza intoppi senza le informazioni extra sui tipi di dati per ogni variabile, beh, Python è pronto per te. Il computer può capire il tipo di dati quando li memorizzi in una variabile. Perché fare un lavoro extra per te stesso?

Si noti che questo approccio a ruota libera potrebbe cambiare, anche se lentamente. La documentazione di Python annuncia che il runtime di Python non applica le annotazioni di funzioni e di tipo variabile, ma possono comunque essere utilizzate. Forse con il tempo l'aggiunta di tipi diventerà il modo dominante di programmare nella lingua, ma per ora è tutta una tua scelta.

JavaScript è entrambi

JavaScript stesso non è tipizzato, ma ultimamente alcuni dei membri di alto profilo del mondo JavaScript sono passati a TypeScript, un superset del linguaggio originale che ti dà la possibilità di impostare i tipi quando vuoi. E se non vuoi, beh, anche JavaScript normale funzionerà bene. È una versione rilassata del controllo del tipo.

Dispositivi di regole Java

La piattaforma per telefoni cellulari più popolare al mondo è Android, un'enorme pila di codice costruita su Java. Ma questa è solo la piattaforma più visibile. I set-top box, i nuovi Chromebook e persino alcuni desktop eseguono app Android proprio come gli smartphone. Un cugino stretto di Java, C #, domina il mondo di Windows. C # non è esattamente uguale a Java ma è molto simile. Se stai per scrivere un'applicazione per un hardware fisso, ci sono buone probabilità che Java sia la scelta migliore.

Python governa la scienza dei dati

Se stai scrivendo software per lavorare con i dati, ci sono buone probabilità che tu voglia usare Python. La semplice sintassi ha attirato molti scienziati e il linguaggio ha trovato un forte seguito nei laboratori di tutto il paese. Ora che la scienza dei dati sta prendendo piede in tutti i livelli del mondo degli affari, Python lo sta seguendo.

Una delle migliori invenzioni per la creazione e la condivisione di documenti interattivi, Jupyter Notebook, è iniziata con la comunità Python prima di abbracciare altri linguaggi. È uno dei modi migliori per mescolare software, dati e il testo che spiega cosa sta succedendo. I lettori possono assorbire le parole e quindi premere i pulsanti per eseguire il software sui dati.

JavaScript governa il web

Le altre piattaforme possono essere carine, ma il browser web continua ad essere l'unico portale che quasi tutti usano per connettersi con il mondo. Di solito è il software più utilizzato su desktop, smartphone e tablet. JavaScript è iniziato come il capo di questo client locale e la sua influenza si è espansa fino al dominio totale poiché la crescita di Node.js ha reso più facile per gli sviluppatori eseguire lo stesso codice sul client e sul server.

Esistono anche dozzine di buoni framework JavaScript (Angular, React, Vue, ecc.) Che offrono una base per la creazione della tua app web e alcuni sono abbastanza intelligenti da spostare il codice tra il client e il server secondo necessità. 

Anche nei mondi dominati da altri linguaggi, JavaScript si fa strada nello stack. Molti sviluppatori di smartphone ignorano Java e Swift per creare le loro app multipiattaforma in JavaScript. Dopotutto, JavaScript determina cosa succede nel rettangolo del browser e questo garantisce praticamente che prenderà la decisione per ciò che accade alla maggior parte dei clic e delle sequenze di tasti ovunque.

Java esegue tutto

Se scrivi codice Python, ci sono buone probabilità che venga eseguito in Jython, un'implementazione del linguaggio scritto in Java per sfruttare l'onnipresenza della Java Virtual Machine. Se devi eseguire JavaScript, puoi anche inviarlo a Rhino e Nashorn, due strumenti che trasformano JavaScript in bytecode Java.

Questi due linguaggi non sono gli unici a fare affidamento sulle solide prestazioni della JVM. Anche molti linguaggi di programmazione funzionale come Scala, Clojure e Kotlin si basano sulle stesse basi. Questo aiuta tutti semplificando il collegamento di questi linguaggi basati su JVM se si desidera utilizzarli nello stesso progetto.

Python funziona ovunque

Python non è la prima scelta o anche l'ultima scelta per le persone che scrivono emulatori per altri linguaggi. Tuttavia, è facile trovare Python su molti computer. I creatori del linguaggio hanno sempre distribuito il codice come open source ei pacchetti sono praticamente ovunque. In effetti, troverai Python incluso in MacOS e nella maggior parte delle distribuzioni complete di Linux. E sebbene non sia incluso in Windows, l'installazione è semplicissima: fallo in modo intelligente.

JavaScript viene eseguito nel browser

È difficile credere che il linguaggio giocattolo creato per creare caselle di avviso nel browser sia ora la base per molte lingue. Gli sviluppatori vogliono raggiungere gli utenti e se gli utenti vivono nel browser, beh, trovare un modo per eseguire il codice in JavaScript è il modo più veloce per raggiungere tutti.

Non sono solo i cugini JavaScript come CoffeeScript e LiveScript che si trasferiscono in JavaScript. Anche linguaggi come Lisp, OCaml e Pascal possono essere convertiti in JavaScript ed eseguiti nel browser. Python è popolare nel browser in progetti come i notebook Jupyter e persino Java può essere tradotto in JavaScript utilizzando strumenti come Google Web Toolkit.

Java ha potenti IDE

Eclipse, NetBeans e IntelliJ sono alcuni dei migliori ambienti di sviluppo integrati in circolazione. Sono stati creati dalla comunità Java e coltivati ​​nel corso degli anni per creare uno degli ambienti più favorevoli per la scrittura di codice. Gli algoritmi di completamento del codice e di generazione del codice potrebbero non scrivere tutto il software, ma possono digitare una quantità significativa. Tutto questo tenere la mano aiuta davvero i nuovi sviluppatori a ottenere la sintassi corretta. 

Questi IDE erano così popolari che gli sviluppatori di altri linguaggi hanno trovato un modo per eseguire il loro codice al loro interno. Se diventi un programmatore Java professionista, quasi sicuramente ne utilizzerai uno. Nel frattempo, se desideri un'esperienza di programmazione Java più semplice e amichevole, prova BlueJ o Greenfoot. Questi "IDE per principianti" sono stati progettati specificamente per l'apprendimento di Java.

Python ha il cloud

Il linguaggio Python ha trovato la sua prima casa nel mondo di Unix e quindi non sorprende che le nuvole piene di scatole Linux siano luoghi naturali in cui trovare un sacco di codice Python. Alcuni degli strumenti più recenti come Jupyter raggruppano codice, dati e spiegazioni in modo che le persone possano condividere le loro intuizioni con gli altri come documenti di ricerca che prendono vita. I taccuini Jupyter non sono documenti statici, ma strumenti interattivi per l'esplorazione.

Altri stanno costruendo strumenti sofisticati attorno alla lingua per migliorare la ricerca. PyTorch, ad esempio, è un toolkit di apprendimento profondo pieno di codice, dati e algoritmi per l'analisi. Ambienti come questo domineranno il futuro della scienza dei dati.

Esistono anche diversi buoni host per notebook che aggiungono funzionalità extra per la condivisione dei dati e la gestione di lavori di analisi dei dati computazionali grandi e intensivi. Google, ad esempio, gestisce il Colaboratory, che memorizzerà i tuoi dati e offrirà un accesso gratuito alle GPU per un calcolo più veloce. Saturn Cloud garantisce prestazioni che potrebbero essere 100 volte più veloci del tuo desktop.

JavaScript ha JSFiddle

Ogni browser è dotato di una potenza più che sufficiente per agire come un IDE. JSFiddle è solo il più importante di oltre una dozzina di siti Web che ti consentono di condividere il codice JavaScript con altri sviluppatori. Le pagine web, tuttavia, non sono statiche perché puoi giocherellare con il codice e guardarlo funzionare nella stessa pagina web. Strumenti come questo rendono semplice sperimentare tutto il divertimento sintattico di JavaScript.

Impara uno o tutti e tre

Il mondo della programmazione ama l'impollinazione incrociata. Sebbene possa creare confusione passare da una lingua all'altra e mantenere la sintassi retta, è possibile utilizzare tutte e tre le lingue nei progetti senza impantanarsi troppo. I progetti Java o JavaScript che analizzano i dati possono essere collegati a librerie di data science scritte in Python. Oppure i progetti Python possono richiamare codice Java o JavaScript.

Gli sviluppatori intelligenti hanno anche creato strumenti per tradurre, collegare e integrare automaticamente le diverse lingue tra loro. Vuoi eseguire codice Python nel tuo browser? Ci sono diverse opzioni ora e probabilmente altre in arrivo. Java ha una classe ScriptEngine che valuterà JavaScript. Esistono centinaia di lingue diverse che verranno eseguite come JavaScript tramite traduzione o emulazione.

Insomma, le tre lingue non hanno bisogno di essere isole, isolate l'una dall'altra. Non è necessario sceglierne solo uno a lungo termine. Ma inizia con uno all'inizio.

Ulteriori informazioni sullo sviluppo del software:

  • I migliori corsi di programmazione gratuiti durante il blocco
  • Cos'è CI / CD? Spiegazione dell'integrazione continua e della consegna continua
  • Cos'è la metodologia agile? Spiegazione dello sviluppo del software moderno
  • Cos'è un'API? Spiegazione delle interfacce di programmazione dell'applicazione
  • Il miglior linguaggio di programmazione da imparare ora
  • Le più preziose capacità di sviluppatore di software nel 2020
  • 6 migliori linguaggi di programmazione per lo sviluppo di intelligenza artificiale
  • I 24 ruoli di sviluppatore più remunerativi nel 2020
  • Sviluppatore full-stack: cos'è e come puoi diventarlo
  • 9 insidie ​​nella carriera che ogni sviluppatore di software dovrebbe evitare