1: impari a lanciare comandi sul tuo computer

Lanciare comandi sul computer è una di quelle cose che quando cominci a fare non smetti più. Ti permette di fare tutto più velocemente senza dover passare per l’interfaccia utente. Senza considerare che spesso e volentieri i computer su cui opererai (nella vita e negli esami universitari) non avranno un’interfaccia utente ma solo la linea di comando

2: impari cosa vuol dire programmare

Programmare non è solo “schiaccio il bottone e vedo che esce”, anche solo il fatto che con un semplice tutorial avete dovuto compilare ed eseguire a mano un programma, ti fa capire che il processo di “programmare” non è immediato come sembra, e per quanto possa essere allettante l’idea di “schiacciare un bottone ed eseguire” a volte serve andare un po’ più nello specifico

3: se non fai cose complicate non imparerai mai cose complicate

e rimarrai uno smanettone. Noi siamo Informatici, e vogliamo capire come funzionano le cose, non vogliamo solo che funzionino e basta.

4: C e Linux sono due facce della stessa medaglia

Per ragioni storiche C e Linux sono sempre stati mano nella mano. Il kernel linux è sviluppato in C e compilato in Gcc. Programmare in C su linux fa sentire il compilatore a casa

5: Windows invece…

Microsoft ha sempre voluto fare le cose come dice lui, ha spinto parecchio per evitare che i sistemi Linux rimpiazzassero quelli windows (senza successo tra l’altro, almeno nell’ambito server). Qui alcuni dei problemi che insorgono nel programmare in C su Windows (problemi che magari adesso non avete, ma che appena vorrete fare qualcosa di minimamente più complicato vi toccherà sorbirvi). https://www.quora.com/What-are-some-of-the-issues-with-Windows-programming-in-C-C

Per chi volesse programmare come un uomo delle caverne, ma non vuole rinunciare a Windows:

Se vuoi programmare come un uomo delle caverne, ma non vuoi rinunciare a Windows, perchè non sia mai che imparo qualcosa di nuovo all’università, allora vi consiglio WSL, che sostanzialmente vi permette di lanciare comandi Unix based (identici a quelli che lancerestse su Linux) ma su Windows.