Programmazione e didattica |
Cerca nel web, nel sito, nei siti amici Ricerca personalizzata
|
Programmazione e didattica I linguaggi di programmazione sono i mezzi che abbiamo a disposizione per comunicare all'elaboratore le modalità di soluzione di un dato problema. I linguaggi di programmazione hanno subito notevoli cambiamenti dal loro primo apparire. I primi erano costruiti su misura per un hardware specifico, di cui riflettevano caratteristiche e filosofia. Oggi si tende a linguaggi a più alto livello, orientati alle esigenze umane e indipendenti dall'hardware su cui funzionano: il programmatore può ignorare i dettagli dell'hardware e concentrarsi sugli aspetti concettuali del problema. L'evoluzione dei linguaggi ad alto livello è stata influenzata da varie esigenze, tra cui: - rendere più semplice l'utilizzo da parte di non professionisti, migliorando gli aspetti di comunicazione uomo‑macchina; - fornire strumenti per una rappresentazione del problema a diversi livelli di dettaglio, isolando gli aspetti di volta in volta significativi e consentendo un buon grado di economia cognitiva. L'approccio tradizionale alla programmazione prevede di processare le istruzioni di un programma come sequenze di ordini; i linguaggi che risentono di questa impostazione si dicono imperativi o procedurali, e imperativo è il paradigma di programmazione che esprime la soluzione di un problema come successione di comandi. Il flusso delle istruzioni è regolato da strutture che permettono di ripetere un'operazione, o di scegliere tra strade alternative. Questa impostazione discende direttamente dalla tecnologia - ormai trentenne - di progetto dell'hardware degli elaboratori. Un'evoluzione tuttora in atto consiste nell'abbandonare la visione ristretta di un'unico possibile paradigma di programmazione per esplorare le possibilità offerte da diversi modelli di pensiero, con linguaggi di programmazione che si differenziano sostanzialmente dai linguaggi imperativi perchè orientati a rappresentare conoscenze svincolate dagli aspetti procedurali di utilizzazione. Pensiamo sia molto più utile tener conto di questo cambiamento piuttosto che focalizzarsi su un particolare linguaggio di programmazione: più paradigmi equivalgono a più punti di vista, diminuendo il rischio sclerotizzante di vedere la realtà al servizio della macchina anziché il contrario (cfr. l'intervento di Riccardo Degl'Innocenti). Inoltre, la crescente diffusione del personal computer allarga lo spazio dell'utenza, dei suoi interessi ed esigenze, e delle risorse intellettuali dedicate all'esplorazione degli ambienti operativi: la tendenza attuale va verso una condizione in cui i vincoli del linguaggio non siano vincoli alla creatività, ma convenzioni che bilanciano potenza espressiva e facilità d'utilizzo. L'automazione d'ufficio - che è rivolta a non‑informatici di professione - è il settore che per primo tende a beneficiare di questi sviluppi: questa è la ragione in fin dei conti economica per cui il software per la produttività personale (Word Processor, sistemi di gestione dati, fogli elettronici, linguaggi speciali) è spesso più avanzato del software esplicitamente didattico. |