Il miglior linguaggio di programmazione

Il miglior linguaggio di programmazione

C vs Java vs Python vs Javascript

Quando si inizia a programmare da zero, ci si trova davanti ad una scelta difficile: quale linguaggio scegliere? Qual è il linguaggio migliore per iniziare a programmare?

Immagina di imparare a programmare con un linguaggio per poi scoprire che non viene usato dalle aziende, o che sia molto richiesto, ma non per ciò avevi in mente di fare. Magari sognavi di sviluppare applicazioni per smartphone e invece ti ritrovi a realizzare siti web!

Non ti piacerebbe poter scegliere il tuo primo linguaggio di programmazione avendo tutte queste informazioni a tua disposizione?

Per aiutarti, ho selezionato i 4 linguaggi più consigliati e li ho analizzati sotto diversi aspetti:

  • Velocità di apprendimento: Quanto è semplice e veloce da apprendere?
  • Applicazioni: Dove usare il linguaggio? Cosa ci puoi fare? Per quali scopi è usato?
  • Richiesta nel lavoro: Quanto è richiesto nel mondo del lavoro? Per quali mansioni?
  • Risorse: Esistono libri, tutorial e corsi per iniziare a studiarlo? Sono di qualità? Gratis o a pagamento?

Potrai valutare tu stesso qual è il linguaggio di programmazione più adatto a te.

Iniziamo?

Alberto OllaAlberto Olla
Capitolo 1

I linguaggi più consigliati

Consigli primo linguaggio di programmazione con cui iniziare

Esiste il linguaggio di programmazione perfetto?

Te lo dico subito:
Non esiste un linguaggio di programmazione perfetto.
Adesso lo sai e puoi metterti il cuore in pace.
Devi sapere, inoltre, che per diventare uno sviluppatore è importante conoscerne più di uno.

Ma come? Allora questo articolo a cosa serve?

Ora te lo spiego. Faccia sorridente

Se stai leggendo questo articolo, significa che vuoi iniziare a studiare la programmazione. E proprio come all’inizio di ogni viaggio, stai valutando la strada migliore da percorrere. Incontrerai discese e salite, potrai imboccare scorciatoie o ostacoli, ma l’importante è raggiungere il risultato che desideri.

Il primo incrocio, quello da cui tutti sono passati, è la scelta di un linguaggio di programmazione, ma non è un semplice bivio con appena due scelte, tutt'altro, è un enorme incrocio con tantissime diramazioni diverse: Java, C, Python, Ruby, Javascript, PHP ...

Qual è la strada migliore per un neofita?
Qual è il linguaggio più adatto per iniziare a programmare?

A questa domanda vengono date le risposte più disparate.

Chi consiglia il suo linguaggio preferito, chi il più “di moda”, chi il più veloce e così via. Ma nessuna di queste risposte tiene conto della cosa più importante: il tuo scopo.

Perché vuoi imparare a programmare?
Magari per lavoro, o per creare la tua app o, ancora, per realizzare il videogioco dei tuoi sogni.

Quella che troverai qui sotto è una mia personalissima analisi sui linguaggi più noti quando si parla di “iniziare” a programmare. Per ogni linguaggio ho creato un articolo di approfondimento più dettagliato, e ho assegnato dei voti da 1 a 10 per ogni area.

Avrai a disposizione uno riepilogo informativo che ti informerà su punti di forza, debolezze, per chi è più consigliato e quant’altro. Se vuoi approfondire qualcosa, hai a disposizione l’articolo completo. Faccia sorridente

Adesso hai tutto quello che ti serve per fare la tua scelta, non ti resta che documentarti e sperimentare.

Capitolo 2

Linguaggio C

3/10

Velocità di apprendimento

5/10

Applicazioni

1/10

Richiesta nel lavoro

5/10

Risorse

Vantaggi

È alla base dei linguaggi di programmazione
Insegna a programmare, ma anche importanti concetti informatici.

Il più usato nell’industria informatica
Per la programmazione di sistemi embedded.

Prestazioni
Eccellente velocità di esecuzione e risorse utilizzate (RAM e CPU).

Svantaggi

Difficile da imparare
È un linguaggio molto vicino al linguaggio macchina, offre strumenti complessi come la gestione della memoria e l'uso dei puntatori.

L’uso nelle aziende è altamente professionale
È molto difficile essere assunti solo grazie a C, solitamente occorre un forte background informatico.

Poche risorse per chi inizia
La maggior parte dei libri tendono ad essere troppo tecnici e poco adatti ad un autodidatta.

...

Consigliato se:

  • Segui, o intendi seguire, un percorso di studi accademico. Viene insegnato in corsi scolastici e universitari. Di conseguenza, studiarlo come autodidatta ti assicura un grande vantaggio.
  • Diventare uno specialista in settori particolari legati all'hardware, come la programmazione di sistemi operativi o sistemi embedded (integrati)
  • Oltre che imparare la programmazione vuoi apprendere i principali concetti fondamentali dell'informatica.


Se vuoi approfondire meglio l’argomento e capire il perché delle mie valutazioni, ti consiglio di leggere l'.

Capitolo 3

Linguaggio Java

5/10

Velocità di apprendimento

8/10

Applicazioni

10/10

Richiesta nel lavoro

8/10

Risorse

Vantaggi

Opportunità lavorative
È il linguaggio più richiesto e usato nel mondo del lavoro (soprattutto dalle Enterprise).

Adatto ad ogni settore
È molto versatile, viene usato in: app, software, programmazione web, big data, sistemi embedded.

Buone risorse per iniziare
Numerose risorse a disposizione, anche per i principianti.

Svantaggi

Poco immediato da apprendere
È basato su uno stile di programmazione "intermedio" (programmazione ad oggetti), poco adatto ai principianti.

Uso "eccessivo" e controproducente
Viene usato indistintamente in qualsiasi settore, senza valutare alternative più adeguate. La conseguenza è un aumento dei tempi di sviluppo e della complessità del codice.

...

Consigliato se:

  • La tua priorità è essere assunto in un azienda "tradizionale". È il linguaggio più usato dalle Enterprise e permette di costruire una solida carriera lavorativa.
  • Sviluppare applicazioni Android, perché Java è il linguaggio "nativo" di questo sistema operativo. Attenzione: iOS e Windows Phone, hanno altri linguaggi "nativi".
  • Diventare uno specialista di Big Data. I principali strumenti di questo settore usano proprio Java (Hadoop, HBase, Accumulo, ElasticSearch).


Per conoscere meglio Java, leggi l’.

Capitolo 4

Linguaggio Python

10/10

Velocità di apprendimento

6/10

Applicazioni

5/10

Richiesta nel lavoro

9/10

Risorse

Vantaggi

Semplice ma potente
È un linguaggio moderno e facile da imparare, adatto a principianti ed esperti.

Leader del settore Scientifico
È il linguaggio più usato per l'analisi di dati, grazie ad importanti librerie di matematica, fisica, ingegneria, GIS, machine learning, computer vision, scienza computazionale, ecc.

Ottime risorse gratuite
I migliori libri e manuali su Python sono disponibili gratuitamente online.

Svantaggi

Limiti lavorativi
Poca richiesta nel mondo del lavoro se non in ambito scientifico/di ricerca.

...

Consigliato se:

  • Vuoi imparare velocemente a programmare, con l'aggiunta di un pizzico di divertimento. Il fatto che sia cosi semplice ed immediato lo rende ideale per i principianti.
  • Vuoi diventare un Data Scientist o lavorare in ambito scientifico/di ricerca. Le sue librerie scientifiche vengono considerate tra le più importanti dell'intero settore. Se vuoi intraprende una carriera in quest'ambito, studiare Python ti aprirà enormi possibilità.


Per saperne di più su Python ti invito a leggere l’.

Capitolo 5

Linguaggio Javascript

10/10

Velocità di apprendimento

10/10

Applicazioni

9/10

Richiesta nel lavoro

8/10

Risorse

Vantaggi

Facile da imparare
Semplice da imparare e immediato da eseguire. Puoi iniziare da subito senza installare nessun programma particolare.

Fortemente innovativo
Negli ultimi anni sono state sviluppate tecnologie basate su Javascript che stanno rivoluzionando ogni settore di sviluppo: front-end, back-end, app mobile (ibrido e nativo), software, Internet of Things.

Potente e versatile
È un linguaggio multi-paradigma e supporta tutti e tre i principali paradigmi di programmazione: imperativo, ad oggetti e funzionale.

Svantaggi

Cattiva reputazione
Fino a qualche tempo fa veniva considerato un linguaggio troppo semplice e di scarsa utilità. Solo negli ultimi anni è stato rivalutato grazie a importanti strumenti come Node.js, Angular.js (di Google) e React/React-Native (di Facebook).

Tecnologie non mature
Le nuove tecnologie Javascript sono ancora giovani e questo si traduce in: meno strumenti compatibili (liberie, frameworks), meno risorse (libri,corsi, ecc.), meno documentazione, maggiore rischio di bug.