Imparare a programmare da zero - 2/3

Tags : imparare a programmare

Questa è la seconda parte di un trio di post volto a spiegare le basi-basi della programmazione.
Se parlo di torte e non capite perchè, leggete le parti precedenti :)

Linguaggi di programmazione - Cosa sono?

Lo scopo dei linguaggi di programmazione è di interpretare il linguaggio umano e "tradurlo" in linguaggio macchina.
Si suddividono in due grandi categorie: quelli di alto livello e quelli di basso livello.

La distinzione è dovuta al livello di astrazione, ossia alla "distanza" dal linguaggio macchina.

Spiegandolo con l'esempio della torta, supponiamo di voler prendere 200g di farina da un sacchetto utilizzando un cucchiaio.

Un linguaggio di basso livello potrebbe essere

- distendi le dita della mano
- chiudile sul pomello del cassetto delle posate
- tendi il muscolo del braccio per aprire il cassetto
- rilascia il muscolo del braccio
- distendi le dita della mano
- tendi i muscoli del braccio per portare la mano sopra i cucchiai
- chiudi le dita della mano sopra un cucchiaio
- tendi i muscoli del braccio per estrarre il cucchiaio dal cassetto
[...]

e così via.
E già abbiamo dato per scontato un sacco di cose, come ad esempio il fatto di avere un braccio, di poterlo muovere, di averci attaccata una mano, di avere un cassetto delle posate, di sapere cos'è un cucchiaio ecc.

Un linguaggio un po' più astratto potrebbe essere

- prendi un cucchiaio
- prendi il sacchetto della farina
- prendi la bilancia
- prendi un contenitore
- posa il contenitore sulla bilancia
- versa tanta farina nel contenitore finchè non raggiungi i 200g

Mentre un linguaggio di livello ancora più alto potrebbe fare direttamente

- prendi 200g di farina

Capita la differenza?
L'astrazione si può identificare quindi con la "distanza" dalla macchina e la "vicinanza" all'uomo.

La domanda che ora sorgerà spontanea è: ma quindi che mi frega dei linguaggi di basso livello se con quelli di alto livello posso dare per scontate un sacco di cose?

Ottima domanda, lo vediamo nel capitolo successivo.

Linguaggi di programmazione - Quale scegliere?

Una delle domande più frequenti di chi inizia a programmare è: qual è il miglior linguaggio di programmazione?
E la risposta più corretta è a sua volta un'altra domanda: per fare cosa?

Il fatto è che esistono centinaia, forse migliaia di linguaggi diversi, ma ciascuno di essi è stato studiato e pensato appositamente per uno scopo ben preciso (o perlomeno, alle sue origini).
Quindi difficilmente si troveranno siti web fatti con Assembly, PLC programmati in PHP o applicazioni desktop per Mac o Linux scritte in Asp.Net

Con il passare del tempo, diversi linguaggi sono stati sviluppati ed estesi ad "aree di competenza" per i quali non erano stati creati, ma chiaramente è come usare un Bulldozer in una gara di formula 1 o montare una benna su una Lamborghini Aventador per usarla come spazzaneve...

Quindi informatevi di volta in volta sui linguaggi disponibili a seconda della strada che volete intraprendere.

Note:

  • Mettete in conto il fatto di dover/poter utilizzare più di un linguaggio contemporaneamente
  • Date un'occhiata a dove si può spingere il delirio e leggetevi la pagina di wikipedia sui linguaggi di programmazione esoterici

Continuiamo il discorso nella terza parte -> Imparare a programmare da zero 3/3

Comments !