Filosofia dell'informazione/Metodologia dell'informatica
Introduzione
[modifica | modifica sorgente]Scienza e Filosofia si distinguono da sempre perché ciò che può spiegare la scienza, la filosofia lo giustifica. Per esempio, l'attività neuronale delle sinapsi è una questione scientifica, mentre la ricerca del fondamento e della possibilità che un computer sia dotato di coscienza è una questione filosofica. Inoltre la filosofia, il più delle volte, si distingue dalle scienze in quanto è una ricerca a-priori, al di là dell'esperienza. L'informatica è unica rispetto a tutte le altre scienze e seguendo il modello scientifico, cerca di dare una spiegazione dei fenomeni attraverso l'esperienza e le ipotesi; un processo computazionale si distingue dagli altri processi scientifici (chimici/elettrici) in quanto non riguarda la fisicità di un fenomeno. Basti pensare al ragionamento che un giocatore di carte fa mentre decide quale delle carte a sua disposizione lanciare, ciò è un processo computazionale (logico) e non naturale (fisico); questo processo può essere descritto in linguaggio simbolico (basti pensare al linguaggio binario di 0 e 1). L'esplosiva diffusione delle nuove tecnologie informatiche ha dato vita a delle attività interattive e virtuali (le chat, l'email, i giochi online), creando così un nuovo scenario mai visto prima: il cyberspazio. Il ruolo della filosofia in questo panorama informatico, è quello di verificare la conoscenza riguardante le intelligenza artificiale e la loro attendibilità.
Informatica e Matematica
[modifica | modifica sorgente]La principale caratteristica di questa relazione è che i programmi informatici sono sempre fondati su calcoli matematici (Hoare) e che i programmi sono il nuovo ambito lavorativo degli esseri umani (Floyd). La verifica di un programma è il processo secondo cui un programma ha una data funzione, la specificità di un programma è invece una descrizione dettagliata dei suoi processi di input e di output; queste due operazioni servono al software per scrivere il programma di cui ha bisogno. Ci si presenta dinanzi la possibilità di programmare un software che sappia risolvere algoritmi complessi o altre operazioni che all'uomo vengono complicate. Il compito della filosofia sta nel valutare che la verifica formale di un programma sia conformata ai calcoli matematici che lo riguardano.
Il dibattito sulla verifica formale
[modifica | modifica sorgente]Uno dei primi che propose la programmazione formale di un linguaggio è stato McCarthy, motivato da una teoria della computazione che sappia scambiare un paradigma linguistico con un altro senza problemi; i principali programmi di scrittura di linguaggi informatici che traslano il linguaggio umano in linguaggio informatico (0 e 1) sono Java, Visual basic, C++ e altri. P. Naur pose la distinzione tra attività testuale ed attività esecutiva, l'una statica (in quanto testo) l'altra dinamica (in quanto esecutiva). Mentre Demilo, Lipton e Perlis posero la distinzione tra linguaggio matematico ed informatico, Fetzer mosse un'altra critica alla validità del paradigma matematico dell'informatica a causa della mancanza di un processo sociale accompagnato a quello tecnologico.
L'astrazione
[modifica | modifica sorgente]La fondazione del concetto di computer nasce dalla possibilità di descrivere nel linguaggio binario gli altri linguaggi (matematico-logici) e innestare la quotidianità dell'essere umano nel mondo digitale: quest'ultimo è un mondo virtuale, astratto, non è una sfera della conoscenza empirica, ma è ideale quindi il mondo dei computer è un mondo dominato dalla potenzialità logico-matematica delle continue innovazioni scientifiche.
Conclusioni
[modifica | modifica sorgente]L'informatica sarà sempre fondata su una base scientifico-tecnologica e richiederà miglioramenti da specialisti-scienziati con una mente analitica creativa e tecnologica; man mano che le innovazioni tecnologiche si fanno avanti, dovrà esserci lo sforzo di pari passo di evolvere il linguaggio informatico rendendolo sempre più consono alle nuove tecnologie.