Lavorando sul  modulo 8 del percorso formativo A ho notato che i materiali non prendono in esame le tecniche di programmazione attuali basate su oggetti visuali ed eventi. Dopo 20 anni dalla nascita del Mouse, sembra incredibile, ma è ancora difficile parlare di algoritmi e procedure collegandoli a eventi, oggetti, finestre, mouse e pulsanti.

di Dario Zucchini



Il computer senza mouse (e senza padrone)
di Dario Zucchini
 
Lavorando sul  modulo 8 del percorso formativo A ho notato che i materiali non prendono in esame le tecniche di programmazione attuali basate su oggetti visuali ed eventi. Dopo 20 anni dalla nascita del Mouse, sembra incredibile, ma è ancora difficile parlare di algoritmi e procedure collegandoli a eventi, oggetti, finestre, mouse e pulsanti. Non si può neanche dire che le vecchie sicurezze siano utili per l’uso con i nuovi strumenti. Infatti, al di là della sintassi, l’impostazione logica di un software fatto per dos (testo) e di un software fatto per windows (grafico) è completamente differente. I ragazzi che imparano a programmare in modalità testo, quando programmano con strumenti visuali commettono dei tipici errori di impostazione come quello di forzare la fase di input e quella di output in un ambiente dove queste fasi si sovrappongono e sono gestite da eventi.
Nella informatizzazione di massa di cui siamo stati protagonisti (a volte anche inconsapevoli) ci sono state alcune tappe fondamentali che hanno offerto a tutti (proprio a tutti) la possibilità di “programmare” ma che non sempre hanno visto la scuola come protagonista del cambiamento, vediamo quali:
Partiamo dalla prima rivoluzione, quella didattica, Wirth (menzionato una sola volta nei materiali del modulo 8 e neanche nella bibliografia) nel 1970 ha dato al mondo accademico il linguaggio di programmazione ideale dal punto di vista didattico e cognitivo: il Pascal con la sua programmazione rigorosamente “Strutturata”. 
Nel 1980 arrivano  i primi  Personal Computer:  Commodore  e  Apple invadono il mercato. Il  linguaggio di programmazione di questi semplici PC è il BASIC semplice, immediato e per tutti. Il mondo della scuola si adatta ma il BASIC viene considerato un linguaggio di serie “B” (non obbliga alla programmazione strutturata e non è compilato).
La rivoluzione prosegue e rivaluta il Pascal. Borland sviluppa e distribuisce a prezzi “popolari” il Turbo Pascal. Per i puristi dell’informatica è uno shock ma il Turbo Pascal è il primo ambiente di sviluppo integrato della storia. Nelle scuole italiane, finalmente, c’è un linguaggio didattico per tutti completo di libri, esercizi e unità didattiche.
Con l’arrivo del mouse e di Windows, arriva l’era dei linguaggi visuali e ad eventi (nominati solo 3 volte nei materiali del corso) Visual Basic, Visual C, Delphi, Hypercard, ecc…. L’ambiente di sviluppo è oramai un concetto consolidato ma la programmazione come era stata fino ad allora viene completamente rivoluzionata, anche se pochi (sic!) se ne accorgono.  Il linguaggio ideale per la didattica potrebbe essere il Visual Basic ma, nelle scuole, si rimane molto affezionati alla programmazione in modalità testuale (le stesse dispense del modulo A lo confermano). Nel frattempo cresce internet e le pagine web diventano capaci di eseguire algoritmi scritti in jscript, vbscipt  e java. Anche i pacchetti software evoluti come office sono in grado di eseguire codice VBA (visual basic)
Fin qui la storia, ma la capacità delle persone di programmare le macchine è anche espressione artistica e, soprattutto, cultura. Saper programmare è un po’ come saper scrivere, non esistono attività alternative o propedeutiche che sviluppano comunque queste abilità. Il saper tradurre un problema in algoritmo e il saper scrivere un  programma  è una abilità unica che distingue l’utente dall’autore.
Peccato che, oggi più che mai, stiamo andando nella direzione opposta, formiamo più volentieri degli “utenti” certificati con la patente europea che non degli “autori” in grado di “padroneggiare” e riprogrammare le macchine secondo le proprie esigenze ed i propri gusti.
 
Dario Zucchini

No votes yet.
Please wait...