Uno dei primi problemi che i miei studenti di Fondamenti di Informatica affrontano ogni anno è l’installazione dell’ambiente di sviluppo per la programmazione in C.

Negli anni abbiamo provato diverse soluzioni, ma il risultato è sempre stato lo stesso: centinaia di richieste di aiuto pervenute a inizio corso, dovute probabilmente a configurazioni hardware/software diverse da quelle previste, o più semplicemente a una (giustificata) scarsa conoscenza dello strumento.

In poche parole: “PROOOOOF, NON MI FUNZIONA IL COMPILATORE!”.

Se anche tu ti trovi in questa situazione, continua a leggere, forse ti sarò d’aiuto!

Come ho scelto l’ambiente di sviluppo per il laboratorio di programmazione in C

Di solito, la situazione che mi ritrovo in aula a inizio corso è questa:

  • molti degli studenti si avvicinano per la prima volta a un linguaggio di programmazione, e magari fino a quel giorno hanno sempre usato il loro laptop solo per guardare video su YouTube o per giocare a Minecraft;
  • le classi sono molto numerose, spesso mi ritrovo a dover gestire più di 150 studenti a sezione (per fortuna vengo affiancato da alcuni preziosissimi tutor);
  • ogni studente ha un laptop con una storia (e una configurazione) tutta sua: dai modelli che richiedono un esorcismo per farli funzionare, al top di gamma (assolutamente sovradimensionato per un laboratorio di programmazione C), fino al fenomeno che una volta si presentò a lezione con un RaspberryPI (in pratica si montò un PC sul banco);
  • nell’installazione dell’ambiente di sviluppo gli studenti spesso si perdono e non leggono le istruzioni fino in fondo, oppure saltano dei passaggi. In certi casi è colpa mia, che dò per scontata la conoscenza di alcuni aspetti – ma a volte sono loro a essere davvero imperdonabili;
  • pur anticipando le istruzioni via mail qualche giorno prima, si perde tanto tempo affinché tutti gli studenti siano pronti a iniziare con la programmazione.

Per trovare una soluzione ho fatto quindi una veloce analisi dei requisiti per l’ambiente di sviluppo:

  • installazione affrontabile in autonomia seguendo dei semplici passaggi riportati in un tutorial;
  • disponibile per i principali sistemi operativi (Windows, macOS e Linux)
  • gratuito e possibilmente open-source;
  • pronto all’uso per consentire di iniziare subito a programmare (e provare il brivido di stampare a video “HELLO WORLD”).

Da cosa è composto l’ambiente di sviluppo

L’ambiente di sviluppo che ti propongo per imparare a programmare in linguaggio C è composto da:

  • un editor di codice dotato di syntax highlighting: è il software che userai per scrivere il codice sorgente dei tuoi programmi in linguaggio C;
  • una toolchain: è un insieme di strumenti necessari per la generazione del programma eseguibile a partire dal codice sorgente che hai scritto in linguaggio C.

Come avrai notato, questi due componenti sono strettamente legati tra loro, è quindi necessario installarli entrambi. Iniziamo!

Quale editor di codice utilizzare per programmare in C?

In circolazione esistono tanti editor di codice più o meno integrati e ottimizzati: nell’ambiente di sviluppo che propongo ai miei studenti l’editor utilizzato è Visual Studio Code (VSCode).

Limitatamente a ciò che ci serve per imparare a programmare in C, la scelta è dovuta principalmente a questi motivi:

  • è gratuito
  • è disponibile per le principali piattaforme (Windows, macOS e Linux)
  • non essendo strettamente legato a un linguaggio specifico, è un software che torna utile in futuro anche per altri corsi di programmazione
  • è dotato di syntax-highlighting (ovvero, le parti del codice che scrivi vengono evidenziate in modo diverso migliorandone la leggibilità)
  • integra al suo interno il Terminale per l’esecuzione dei vostri programmi, senza dover aprire altre finestre
  • un po’ come il browser che utilizzi per navigare su Internet, consente di essere profondamente personalizzato in base alle proprie necessità aggiungendo delle estensioni

Per installare e configurare VSCode, leggi la mia guida!

Una volta che hai ottenuto VSCode sul tuo laptop puoi proseguire con l’installazione della toolchain per la compilazione dei tuoi programmi.

Quale toolchain utilizzare per la compilazione dei programmi in C?

Il linguaggio C, a differenza di altri linguaggi di programmazione come JavaScript o Python (che sono linguaggi interpretati), fa parte della famiglia dei linguaggi compilati. Questo significa che, per poter eseguire il nostro programma, sarà necessario dare in pasto a un compilatore il codice sorgente che abbiamo prodotto, in modo che possa generare il file eseguibile scritto in codice macchina.

Qui entra in gioco la toolchain, generalmente composta da più strumenti a riga di comando (ovvero, senza interfaccia grafica – sì, dovrai usare il Terminale o Prompt dei comandi, quella simpatica finestra con lo sfondo nero e i caratteri bianchi), tra cui spicca il più importante: il compilatore GCC.

La toolchain da utilizzare varia in basa al sistema operativo utilizzato:

Se hai installato tutto correttamente, ora puoi scrivere il tuo primo programma ed eseguirlo!

Come compilare i propri programmi C con l’ambiente di sviluppo installato

Crea una cartella sul tuo computer nella quale salverai tutti i tuoi programmi C.

Apri questa cartella con VSCode e al suo interno crea un file .c (per esempio, chiamalo hello.c).

CONSIGLIO: non inserire spazi nei nomi dei file .c (al posto dello spazio utilizza l’underscore “_” ) altrimenti potrebbero esserci problemi in fase di compilazione.

Scrivi il codice del tuo programma C all’interno del file, per esempio:

hello.c
#include <stdio.h>

int main(){
  printf("Hello, Bottega del Coding!");
  return 0;
}

Salva il file hello.c che hai appena modificato.

Adesso compiliamo il programma! In alto a destra clicca sulla freccetta che trovi accanto al tasto Play e seleziona “Run Code” (ignora le altre possibilità proposte nel menù).

Dovrebbe aprirsi un Terminale in VSCode nella sezione in basso. All’interno verrà avviato il compilatore ed eseguito il tuo programma (codice corretto permettendo).

DISCLAIMER: il procedimento che ti ho appena spiegato è una semplificazione per evitare di traumatizzarti subito con la riga di comando. In questo modo ti puoi focalizzare sul codice che scrivi, e non sulla compilazione. Avrai tutto il tempo di investigare più avanti su come utilizzare il compilatore gcc da riga di comando. 😉

CONSIGLIO: ricordati di salvare ogni volta il tuo file .c dopo aver fatto delle modifiche prima di compilarlo nuovamente, altrimenti il compilatore continuerà a “vedere” il vecchio file.

Altri contenuti che potrebbero interessarti: