Vorrei porre una riflessione riguardo il linguaggio di programmazione da principianti che potrebbero essere utilizzati come base nel percorso formativo dei programmatori.
C/C++
Come accennato in Q&A2 la mia passione per l'informatica è stata seminata da mio padre il quale si presentò un bel giorno a casa con un manuale con sopra la scritta C++. Personalmente ritengo che la scelta di partire dal "buon vecchio" C/C++ sia tutt'oggi la scelta migliore. Molti istituti tecnici e corsi universitari utilizzano come base di partenza un ben più semplice Visual Basic, sia per la sintassi immediata che per la facilità di comprensione delle dinamiche.
Oggi
Analizzando la situazione attuale del panorama informatico spuntano linguaggi ben più semplici ed immediati e nasce spontaneo domandarsi se non è il caso di modificare il linguaggio di programmazione di partenza per adeguarsi al mercato moderno. Come domandato in questo articolo è plausibile considerare Python (ma anche altri linguaggi interpretati) come punto di partenza migliore di C/C++ o Visual Basic?
Python o VB?
Vediamo gli aspetti interessanti dei linguaggi interpretati: (spesso) multi piattaforma, senza la dichiarazione di variabili, garbage collector automatico, possibilità di dimenticare il concetto di compilazione. Fra tutte queste qualità Visual Basic risponde quasi a tutte tranne che al concetto di multi piattaforma in effetti. Visual Basic o per meglio dire Microsoft Visual Basic può essere eseguito in tutta la sua semplicità esclusivamente su sistemi operativi Microsoft Windows a differenza del sopra citato Python dove viene sposata la filosofia Write Once Run Anywhere.
Secondo me: C/C++
Sapete perchè continuo a preferire C/C++ a queste tipologie di linguaggio (compreso Java e C#)? La MEMORIA. Ho visto tonnellate di programmi e centinaia di programmatori dimenticarsi puntualmente della memoria, troppo abituati a garbage collector automatici e allocazioni di memoria dinamiche. Un programmatore deve avere sempre la conoscenza della piattaforma su cui sta sviluppando, della memoria che sta utilizzando e delle performance dell'applicazioni, tutti aspetti che un programmatore C/C++ sviluppa brevemente appena inizia a sviluppare applicazioni corpose di un certo livello.
In sostanza: meglio sviluppare "buone pratiche di programmazione" prima possibile.
Nessun commento:
Posta un commento