
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.
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 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)”.
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).
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.
Seguici su Google News, LinkedIn, Facebook e Instagram per ricevere aggiornamenti quotidiani sulla sicurezza informatica. Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.


Solo un anno fa, i medici non potevano dire con certezza se KJ Muldoon sarebbe sopravvissuto al suo primo anno di vita. Oggi sta muovendo i primi passi a casa, con la sua famiglia al suo fianco. Quest...

Una nuova vulnerabilità nei componenti FreeBSD responsabili della configurazione IPv6 consente l’esecuzione remota di codice arbitrario su un dispositivo situato sulla stessa rete locale dell’agg...

Dopo aver approfondito i delicati equilibri che vincolano gli operatori di Cyber Threat Intelligence(CTI) tra il GDPR e il rischio di Ricettazione, è fondamentale rivolgere l’attenzione a chiunque,...

Il mondo della tecnologia è un vero e proprio campo di battaglia, dove i geni del coding sfidano ogni giorno i malintenzionati a colpi di exploit e patch di sicurezza. Ecco perché la recente scopert...

Questa notizia ci arriva dal feed News & Research di Recorded Future (Insikt Group): Check Point Research ha documentato una nuova ondata di attività attribuita al threat actor China-linked Ink D...