Visualizzazione post con etichetta computer. Mostra tutti i post
Visualizzazione post con etichetta computer. Mostra tutti i post

domenica 8 gennaio 2012

Breve storia dei linguaggi di programmazione per computer. Un'infografica

Tema del prossimo Carnevale della Matematica che si tiene il 14 gennaio su Matem@ticamente di Annarita Ruberto è  Teoria della computazione e storia del pc. Niente di meglio allora che una bella storia dei linguaggi di programmazione. E meglio ancora se questa storia è un'infografica. Questa che vi presento è una breve storia dei principali linguaggi di programmazione per personal computer dal 1957 ad oggi. E' stata realizzata da Rackspace e ve la riassumo brevemente.

  • 1957 - Fortran: usato dalla national Weather Service
  • 1959 - Cobol: usato dalla United States Postal Service
  • 1964 - Basic: usato dai primi Apple nel 1977
  • 1969 - C: usato dal sistema operativo Linux
  • 1970 - Pascal: usato da Skype
  • 1983 - C++: usato da Firefox, Ms Office, Adobe Pdf Reader
  • 1987 - Perl: usato da Craiglist
  • 1991 - Python: usato da Google search, Youtube, Nasa
  • 1993 - Ruby: usato da Basecamp
  • 1995 - PHP: usato da Facebook
  • 1995 - Java: usato dai Mars Rovers
  • 1995 - Javascript: usato da Rackspace
  • 2005 - Ruby on nails (più che altro un framework, cioè una struttura di supporto per un linguaggio)
Aggiornamento 22:12: mi si fa notare nei commenti che la prima versione del Fortran è del 1954, il che è vero. Probabilmente, chi ha preparato l'infografica o ha utilizzato la data della prima distribuzione del compilatore, che è appunto il 1957, oppure ha semplicemente sbagliato. Ringrazio per la precisazione. Del resto l'infografica è una breve storia nel vero senso della parola. Per chi avesse il palato più esigente consiglio tre link: 
The Language List, una collezione di 2500 linguaggi di programmazione;
la timeline di Levenez, che contiene 50 linguaggi di programmazione scaricabili in pdf di diversi formati;
e infine l'infografica di O'Reilly che comprende sempre 50 linguaggi di programmazione, qui la pagina e qui il poster in pdf.



Cloud applications Cloud applications

sabato 26 febbraio 2011

Watson, il computer intelligente come un uomo

Questo è Watson, il primo computer capace di rispondere ai quiz di Jeopardy meglio di un umano. E' fatto così. Cliccate sull'immagine.

fonte ibm

mercoledì 5 gennaio 2011

Dio e i linguaggi: considerazioni sulla fallibilità della comunicazione umana

rotoli del mar Morto
Forse l'unico modo che ha, o vuole usare, Dio per parlare con noi è utilizzare un linguaggio che comprendiamo. Se fosse qui, vicino a noi, e noi non fossimo in grado di accorgercene, servirebbe a poco, almeno per quanto riguarda farci sapere che c'è. Per questo tutti i messaggi che lo riguardano risentono della debolezza del linguaggio umano e anche dell'umano sentire.
Ogni comunicazione Dio-uomo avviene tramite via umana: può essere quella del linguaggio verbale oppure quella del linguaggio affettivo. Ma ognuno di questi linguaggi presenta sacche di ambiguità e incomprensione. Come noto, anche le emozioni vogliono trovare casa. Un'emozione non correlata a niente di fisico, cioè senza un riferimento a un oggetto o qualcosa, è un'emozione monca. Ne segue che in questo accoppiamento emozione-correlato si può annidare lo stesso tipo di errore che si annida in ogni abbinamento.
Solitamente gli stati d'animo altrui, quando intensi, sono facilmente individuabili. Così, riusciamo quasi sempre a comprendere lo stato d'animo di una persona, triste, allegra o arrabbiata, se non fa niente per mascherare la cosa.
E ancora, solitamente, noi siamo in grado di assegnare una certa emozione a un evento: abbiamo vinto al gratta e vinci, ci hanno fatto una multa per eccesso di velocità, queste sono situazioni facilmente connotabili, per noi, dal punto di vista emotivo. Altre situazioni lo sono meno.
Alcune volte noi non riusciamo a identificare correttamente lo stato d'animo altrui, vuoi perchè ambiguo o mascherato, vuoi perchè altri segnali ci fuorviano. A maggior ragione questo avviene con il linguaggio verbale: incomprensioni e ambiguità sono all'ordine del giorno. Esiste poi anche un'abitudine di cui fa uso la maggior parte delle persone: e cioè interpretare le situazioni e le parole, adattandole a quello che ci aspettiamo. Quanto volte sarà capitato di dire: ma io avevo capito che..., ma io immaginavo che tu...?
Si completa cioè il messaggio dell'altro dando per scontate cose che in realtà non lo sono. Si sfrutta la consuetudine, nostra, e l'abitudine, pure nostra, per completare il messaggio altrui, a questo punto chiaramente incompleto.
Queste cose, e cioè la fallibilità del linguaggio verbale, assodata e certa, più quella emotiva, seppure di tono minore, porta a una considerazione generale: qualsiasi linguaggio animale presenta un grado variabile di ambiguità e fallibilità. Questa fallibilità probabilmente cresce con il crescere della complessità del linguaggio.
Per esempio: il linguaggio binario usato dai computer è un linguaggio a bassa complessità perchè formato solo da 0 e 1 e, anche se presenta una considerevole complessità sintattica, questa è regolata in maniera ferrea. Una conseguenza di questi fatti è che, solitamente, gli organismi che presentano queste due caratteristiche, bassa complessità rappresentazionale e elevata complessità sintattica, non possiedono autonomia decisionale.
Il computer non si accende da solo; se si accendesse da solo però non saprebbe cosa fare a meno che non ci fosse un  programma che gli dice cosa fare; in più, qualsiasi elemento rappresentazionale non compreso nella sua rappresentazione del mondo non sarebbe preso in considerazione.
Cosa voglio dire? Per esempio: se uno si rivolgesse a noi in questi termini -Appropìnquati, o villico, e accorciami la staffipèndolo, che per il troppo equitare mi s'è alquanto prolissato-[1] quantunque forse faremmo fatica a comprenderlo del tutto pure, domandando una o più volte riusciremmo infine, con tutta probabilità, a intenderlo. Qual è la differenza tra noi e un computer? Noi abbiamo una elevata complessità rappresentazionale (26 simboli alfabetici e 10 simboli numerici, per non parlare degli operatori) ma una bassa complessità sintattica: per esempio, una frase come -qual è la differenza tra noi e un computer?- può essere espressa anche così -qual è tra noi e un computer la differenza?- un po' arcaico e affettato ma comprensibile, oppure ancora -qual è tra noi la differenza e un computer?- sgrammaticato ma ancora intelligibile. Diciamo quindi che, pur essendo vincolante dal punto di vista grammaticale,  ma non così vincolante  dal punto di vista della comprensione, il posizionamento delle parole all'interno di una frase è soggetto a variazione senza perdita di dati. Il più delle volte, però, questo non avviene per un computer: disporre i comandi in maniera disordinata rimanda, il più delle volte, un messaggio di errore.  Diciamo allora che la complessità sintattica, cioè la presenza di regole rigide che vanno scrupolosamente osservate, facilità la comunicazione ma pone il problema della soluzione degli errori.
In più: la complessità rappresentazionale del linguaggio umano, rispetto a quella dei computer, pur dando luogo a una comunicazione più lenta e meno efficace, salva da errori di trasmissione. Per esempio, una frase come quella sopra -qual è la differenza tra noi e un computer?- è leggibile e comprensibile anche dopo alcuni errori -qual è la diffrenz tra noi e un compter?-. Chiaro che se si aumentano gli errori di trasmissione anche questo messaggio diventa incomprensibile, però c'è un limite fino al quale mantiene la sua intelligibilità.
Questo raramente avviene nei computer: provate a digitare un indirizzo internet in cui sia sbagliata una sola lettera e, se non sarà stato previsto dal programmatore,  il computer rimanderà un messaggio di errore (google, per esempio, completa spesso la battitura delle nostre query di ricerca, ma lo fa sfruttando un database di termini già conosciuti, e infatti non funziona con termini a lui sconosciuti).

Torniamo a Dio. Non c'è il rischio per Lui, adottando questi linguaggi così, sommariamente, soggetti ad errore, di non farsi capire? Non c'è la possibilità di un nostro fraintendimento del Suo reale messaggio?
Per me questo problema sussiste. Tanto intensamente che prevedo un suo inutilizzo da parte di Dio. Dio non può utilizzare il linguaggio degli uomini per trasmettere i suoi messaggi: c'è il rischio di una incomprensione, e la possibilità che questa incomprensione abbia gravi conseguenze (ah, già successo?).
Posta allora l'esistenza di Dio, e accettato che Lui abbia necessità di comunicare o trasmettere qualcosa alle Sue creature, affinchè agiscano in un certo modo, qual è il sistema migliore, esente quanto più possibile dall'errore?
Non è vero in assoluto che c'è sempre la possibilità dell'errore all'interno di un messaggio qualsiasi. Se è vero che ogni messaggio umano o di una macchina è comunque soggetto ad errore, non è altrettanto vero che è impossibile trasmettere un qualsivoglia messaggio senza errori. Basta trasmetterlo in maniera ridondante, fugando ogni immaginabile dubbio, tanto per dirne una. Ma è un sistema oneroso, che richiede sforzi ed energie e mal si accorda con un messaggio che si ritiene proveniente da Dio. Infatti, un messaggio proveniente da Dio non può essere composto di tanti distinguo e chiarimenti, perderebbe in autorevolezza.
Ritengo quindi come possibile alternativa quella della comprensione interiore degli eventi. La comprensione interiore delle esperienze è un formidabile sistema per apprendere e formare le convinzioni. Pur essendo soggetta, a volte, come tutto, a dimenticanza, la comprensione interiore può però essere fissata in parole scritte e rievocare, quando letta, in parte l'intensità emotiva originaria.
La comprensione interiore degli eventi ha sempre un costo emotivo, che rende la comprensione stessa più autorevole. Per comprendere però come agisca su di noi senza restare vittima dell'errore insito in ogni linguaggio umano, dobbiamo analizzare questioni legate al ruolo delle comprensioni generali rispetto a quelle che guidano materialmente gli atti. Le prime sono responsabili dell'atteggiamento generale, le seconde delle singole risposte.
(continua...)




[1] Max G. Rusca - Tano Parmeggiani, Scappa scappa galantuomo, p.94

LinkWithin

Related Posts Plugin for WordPress, Blogger...