Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Il miglior linguaggio di programmazione da imparare.

Redazione RHC : 28 Luglio 2021 15:51

Spesso molte persone si domandano quale sia Il miglior linguaggio di programmazione da imparare. Questo soprattutto per chi si affaccia per la prima volta alla scrittura del codice, ma affascina anche gli educatori da molto tempo.

Quando gli studenti iniziano a imparare l’informatica, con quale linguaggio di programmazione dovrebbero iniziare?

Scopriremo che non esiste una ricetta perfetta, un nome, ma ci sono anche persone che hanno dedicato una parte della loro vita a studiare questa cosa come il professor Mark Guzdial dell’Università del Michigan che ha anche condotto le sue ricerche nel campo dell’educazione informatica.

“Ho un’ipotesi del perché questa convinzione fosse vera quando questo campo era giovane”

ha scritto Guzdial in un pezzo pubblicato di recente su Communications of the ACM, l’house organ dell’Association of Computing Machinery (ACM). Ma questo accadeva alla fine degli anni ’60, quando i curricula con esperienze in programmazione venivano visti per le prime volte. Oggi gli studenti di tutte le età, con livelli di esperienza diverse sanno programmare.

Ma è anche interessante notare i cambiamenti avvenuti nel corso degli anni nei dipartimenti di informatica che hanno gradualmente evoluto le loro scelte sul primo linguaggio di programmazione da far imparare ai loro studenti. Analizzando quello che sta accadendo oggi, ci potrebbe far comprendere cosa stiano immaginando per il futuro.

Stanford University

Nel 2017, la Stanford University fece delle modifiche al suo corso introduttivo di informatica per laureati in informatica. Secondo il giornale studentesco di Stanford, Eric Roberts, professore emerito di informatica, ha trascorso cinque anni lavorando alla transizione del corso da Java a JavaScript e ha finalmente creato una nuova versione pilota del corso basata su JavaScript.

Il cambiamento ha comportato la creazione di un nuovo libro di spiegazioni e di compiti. In precedenza le lezioni introduttive di Stanford erano basate sul linguaggio di programmazione C (e prima ancora, Pascal). Ma successivamente JavaScript divenne “il linguaggio di Internet” e per questo era importante.

Roberts aveva aiutato a passare le classi a Java nel 2002, lavorando per ristrutturare i corsi e gli incarichi. Ma 15 anni dopo, aveva detto al giornale studentesco che “Ora è il 2017 e Java sta mostrando i segni della sua età”.

Harvard University

Harvard invece nel corso degli anni ha mantenuto un approccio differenziato. Nella prima settimana, gli studenti scrivono programmi in Scratch.

Si tratta di un linguaggio di programmazione visiva basato su blocchi sviluppato per insegnare ai più giovani come funziona la programmazione, che venne appreso dal MIT Media Lab, prima di passare al C.


Interfaccia grafica di Scratch

Nelle settimane successive ecco che si passa a Python e poi a JavaScript.

“Piuttosto che insegnare una sola lingua, si introduce gli studenti a una gamma di linguaggi di programmazione ‘procedurali’, ognuno dei quali si basa concettualmente sull’altro. L’obiettivo, in definitiva, è che gli studenti non sentano di aver ‘imparato a programmare in X’, ma di aver ‘imparato a programmare'”.

spiegano le FAQ ufficiali del corso di programmazione.

Ma perché iniziarli con C? L’istruttore della classe, il professor David J. Malan , una volta ha scritto su Quora che:

“Il C è il più vicino all’hardware di un computer prima di arrivare ad un linguaggio assembly. In C, non c’è magia. Se vuoi che qualcosa sia da qualche parte nella memoria, devi mettercelo tu. Se vuoi una tabella hash, devi implementarla tu stesso.”

Malan, secondo i suoi commenti su Quora, ritiene che le settimane del C diano agli studenti l’opportunità di comprendere alcuni degli elementi costitutivi fondamentali di tutti i linguaggi di programmazione (fornendo anche l’opportunità di spiegare il concetto cruciale di sicurezza dei buffer overflow).

“Penso che sia anche una cosa potente passare dall’implementare una tabella hash (o provare) in C in una settimana, e poi solo una settimana dopo implementare lo stesso in una sola riga di codice PHP o JavaScript”

scrisse. Inoltre, il C è anche un linguaggio relativamente piccolo, quindi “a metà semestre, gli studenti lo hanno visto quasi tutto (ad eccezione, ad esempio, di unioni e puntatori di funzioni)”.

Michigan University

Ciò che viene insegnato ai programmatori principianti rimane ancora una domanda importante.

“L’incapacità di comprendere prontamente la programmazione quasi certamente implica l’incapacità di progredire nell’informatica”

sostiene il professor Guzdial, dell’Università del Michigan. La questione di quale lingua insegnare per prima è stata quindi “accesamente dibattuta da quando è iniziato l’insegnamento dell’informatica nelle università”.

Nel suo articolo su ACM, ricorda uno studio del 1979 che sosteneva che una volta che uno studente impara i concetti semantici più ampi, può applicarli a qualsiasi lingua successiva (bisogna solo padroneggiare le differenze relativamente facili nella sintassi).

Concludendo

Abbiamo visto i corsi di programmazione di tre tra le più illustri università americane.

Non esiste un linguaggio di programmazione dal quale cominciare, ma esiste comprendere il funzionamento dei linguaggi di programmazione, partendo dalla programmazione ad oggetti per poi arrivare alla programmazione Object oriented.

Sicuramente una volta apprese le informazioni di base di un linguaggio di programmazione ad oggetti, passare quei concetti su altri linguaggi risulta semplice in quanto occorrerà imparare solamente ad applicare la sua semantica.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.