LOGICA

Quando si parla di Logica e di Informatica è d'obbligo risalire ad Alan Turing (1912-1954), l'eccentrico matematico inglese che si interessò delle macchine da calcolo negli anni trenta. Fece i suoi studi al King's College di Cambridge dove si distinse e vi continuò gli studi dopo la laurea. In questo periodo giovanile pubblicò il famoso articolo "On Computable Numbers with an Application to the Entscheidungsproblem" (Sui problemi calcolabili con una applicazione ai problemi di scelta) in cui dimostrava l'esistenza di questioni che non hanno soluzione algoritmica. Oltre a fornire risposte a tematiche di tipo astratto, Turing ebbe il merito di esser sceso in particolari fino allora trascurati. Puntualizzava il concetto di algoritmo e ne dava il modello esecutivo mediante la macchina che porta il suo nome.

La macchina di Turing veniva teorizzata nel 1936 cinque anni prima che il primo computer  fosse materialmente costruito. Questo vide la luce in Germania nel 1941 ad opera di Zuse ed il lavoro teorico di Turing in qualche misura ne preconizzava la tecnologia. 

Durante la seconda guerra mondiale Turing cooperava alla costruzione del sistema di decrittazione Colossus. Negli anni cinquanta continuò a fornire una guida ai pionieri della programmazione. Dunque il suo contributo fu straordinario sotto diversi punti di vista.

Il sostegno dei logici continuava nei decenni successivi. Essi chiarivano le proprietà dei linguaggi artificiali, definivano alcuni importanti algoritmi, ad esempio di tipo concorrente. Nell'ambito dell'Intelligenza Artificiale varavano ed ampliavano la Programmazione Logica la quale affronta la dimostrazione automatica dei teoremi. Davano un fondamentale contributo al disegno del Prolog e del Lisp. I logici si mettevano in evidenza anche nell'elaborazione del linguaggio naturale, altro significativo filone dell'Intelligenza Artificiale. Di recente hanno sostenuto l'approccio ontologico.

Accanto a questi poderosi progressi prodotti dai logici nel settore informatico, ricordiamo le note negative che talora emergono nella didattica e nella prassi professionale.

Al primo punto c'è proprio la macchina di Turing la quale era positiva negli anni dei pionieri ma oggi è un insufficiente riferimento culturale e didattico. Le componenti del programma, che sono le dichiarative e le strutture, si giustificano convenientemente con la macchina di von Neumann mentre si spiegano malino con Turing.

Quel che è peggio l'approccio astratto all'Informatica che domina incontrastato favorisce una inadeguata inclinazione professionale. Certe diffuse carenze degli sviluppatori di software come 

  • trascurare la documentazione, 

  • ignorare la centralità della manutenzione, 

  • concentrarsi sulle operazioni e sottovalutare le dichiarative,

  • affrontare i problemi come fossero enigmi matematici,

  • improvvisare la comunicazione visuale, 

Provengono da una preparazione ispirata alla logica astratta. 

Di frequente questa induce ripetute confusioni concettuali, ad esempio tra numero astratto e codice numerico, tra algoritmo matematico ed algoritmo aziendale, tra teoria e pratica professionale. 

L'approccio astratto alla programmazione da parte dei pionieri era ampiamente giustificato allora. Anche oggi resta valido ma non in termini esclusivi, abbiamo infatti la programmazione ad oggetti, la multimedialità ed Internet. Gli studi di Turing furono profetici nel '36, oggi non possono essere più presi come base assoluta perché danno una visione incompleta della programmazione.

La confusione aumenta quando, seguendo una prospettiva eterea, si insegna l'algoritmo informatico in termini di decidibilità. Peggio ancora quando si tenta di allacciare rapporti diretti tra il computer e la mente umana, tra il calcolo ed il pensiero, tra la macchina e la deduzione astratta. Queste correlazioni sussistono ma sono assai complesse e ben lontane dall'essere semplicisticamente tracciate, dunque sono del tutto inopportune sul piano didattico. Allontanano dai problemi reali il futuro professionista che ha quantomai bisogno di riscontri concreti. Deviano le menti più brillanti.

A mio avviso è bene che l'insegnante integri le sue lezioni con considerazioni che siano generali e nel contempo pratiche, che fornisca una netta divisione tra le competenze dell'Informatica e della Logica, tra l'Informatica e la Matematica.


  Indietro

 

anno 2001





=