Molte persone mi contattano chiedendomi qual è secondo me il linguaggio migliore per cominciare a programmare: cercherò di rispondere a tutti con questo articolo.

Quale linguaggio scegliere

La risposta è semplice: dipende.

Dipende da quello che volete realizzare, come direbbe il buon Eric Raymond (pubblicità occulta del nostro blog tumblr :D).

Il linguaggio di programmazione infatti deve essere scelto in base al problema che volete risolvere: potremo scegliere diversi linguaggi a seconda della meta che ci siamo prefissati.

  • Vogliamo realizzare un programma per Windows?
  • Un programma per Mac?
  • Che sia eseguibile dappertutto?
  • Ci basta un’interfaccia da linea di comando (CUI )?
  • Vogliamo realizzare un programma che permetta di essere espanso con dei plugin (quindi espandibile)?
  • Vogliamo creare un’ app per Android? Per iOS? Per Windows Phone?

Ogni risposta di ogni domanda, punta verso un linguaggio  di programmazione.

Effettivamente, ne esistono veramente moltissimi: e non è neanche troppo difficile crearsene uno personale. Sostanzialmente però, i linguaggi più usati sono quelli che ci offrono gli strumenti migliori e più efficienti per risolvere un dato problema.

Ad esempio: Java è un linguaggio di programmazione creato per essere portabile, perciò se vogliamo creare un programma che sia eseguibile sia su Windows che su Mac che su Linux; potremo affidarci a questo in quanto ci permette una portabilità di tipo WORA (Write Once, Run Anywhere).

Sempre Java, è il linguaggio utilizzato per creare applicazioni per Android.

Per crearne invece per iOS, avremo bisogno di conoscere Objective C.

Per Windows 8 e Windows phone invece, la soluzione migliore sarebbe il C#.

Sostanzialmente, i linguaggi di programmazione hanno costrutti molti simili e molti concetti in comune, solo che appunto vengono pensati per risolvere determinati problemi e col tempo si specializzano.

PHP per esempio, il linguaggio di scripting usato praticamente per tutti i siti web dinamici (compreso questo), può essere utilizzato per creare script da avviare sul nostro computer ma generalmente viene appunto utilizzato per creare siti web.

Le differenze principali fra i vari linguaggi, sono probabilmente:

  • Il paradigma su cui sono strutturati, ovvero OOP (Object Oriented Programming) o procedurale;
  • La quantità e il tipo di librerie disponibili,
  • La tipologia di linguaggio: ad alto o basso livello.

Un’altra differenza da conoscere è se il linguaggio che vogliamo imparare, è di scripting, programmazione o markup.

Due ottimi linguaggi di scripting sono il Bash, per i sistemi Linux, e il Batch per i sistemi Windows.

Il linguaggio di markup per eccellenza, è l’ HTML: esso ci permette di definire gli elementi di una pagina web e, se siamo interessati in quel senso, questo è un ottimo punto di partenza.

Un’ ottimo linguaggio di programmazione è il Python: l’ideale per realizzare facilmente ottimi programmi, in quanto supporta sia la programmazione procedurale (ovvero, “line by line”) sia quella a oggetti.

Linguaggi di programmazione

La soluzione al problema

Dopo aver dato un pò di problemi e soluzioni, correndandoli con diversi linguaggi, vorrei farvi capire come cominciare a programmare.

Prenderò come esempio la mia personale esperienza: molti dei programmatori che conosco, hanno iniziato con quale linguaggio di programmazione tipo il C, IL linguaggio di programmazione (procedurale, ottimo punto di partenza ;)) per eccellenza.

Personalmente, da piccolo non ero attratto dai linguaggi di programmazione: non volevo fare programmi, mi piaceva il web. Così ho cominciato con HTML, CSS (linguaggi per creare semplici pagine web) per poi passare al PHP.

Adesso che sono più grandicello, conosco qualche linguaggio di programmazione vero e proprio, ma il punto a cui voglio arrivare è:

Perchè PHP quando anche Python è orientato al web?

Python, come detto poco fà, è un ottimo linguaggio di programmazione: orientato agli oggetti, ma che supporta anche la programmazione procedurale, e che è possibile utilizzare sia per web che per fare applicazioni desktop.

Ma perchè scelsi il PHP e non Python allora?

La risposta è semplice: PHP nasce esclusivamente come linguaggio di scripting per il Web.

Per ogni scopo che vogliamo raggiungere, dobbiamo sempre cercare di utilizzare gli strumenti più adatti: infatti volendo, PHP può essere utilizzato anche come linguaggio di scripting per realizzare programmi: è chiaro che a quel punto userei Python, e non PHP.

Evolversi continuamente

I linguaggi sono molto simili fra loro per quanto riguarda i costrutti, ma alcuni permettono di risolvere problemi molto più facilmente di altri: per questo motivo, un programmatore, come qualsiasi persona nel mondo informatico, deve sempre cercare di Evolversi.

Questo che vuol dire?

Vuol dire semplicemente che, come ho detto poco fa, come PHP potrei tranquillamente realizzare programmi desktop.
Volendo, potrei utilizzare Java come PHP e creare siti web.
A dir la verità, potrei scrivere programmi in linguaggi macchina che potrebbero fare le stesse cose che fanno gli altri linguaggi di programmazione: ma ovviamente non sarebbe intelligente visto che esistono linguaggi più semplici (di alto livello) che mi permettono di risolvere facilmente i miei problemi.

In pratica, il mio ultimo consiglio, è quello di utilizzare il miglior linguaggio di programmazione in base al problema che volete risolvere: anche se è difficile, sforzatevi di conoscere più linguaggi possibili (il più possibile ovviamente). Quando avrete un problema che non avete mai affrontato fino ad ora, avrete molti grimaldelli da utilizzare.