8 minute read
5.3 Il pensiero codificato .…………………………………………. pag
from DO i NUMERI tra Arte e Matematica - Tesi di laurea di Tiziana Pavone in Net Art e Culture Digitali
by poianissima
computer è lo strumento più diffuso nel Pianeta. Forse più del pane e dell’amore oggi sentiamo il bisogno di giga.
5.3 IL PENSIERO CODIFICATO Abbiamo uno splendido computer, meglio dire un Hardware, che però senza il pensiero di qualcuno non funziona. Anche se la corrente elettrica fa accendere la sua lucina rossa, la macchina non funziona, non fa niente, non può fare niente. Serve una benzina speciale, creata appositamente per lei, affinché si possa animare attraverso lo schermo. Serve un apposito programma. Il programma è un algoritmo, cioè una successione di operazioni che permette, a partire da dati iniziali, di ottenere la soluzione di un determinato problema, e viene scritto in un linguaggio di programmazione, uno dei possibili adatti o speciali, che regala alla macchina la possibilità di funzionare e quindi esibire tutte le sue caratteristiche. (7) I linguaggi di programmazione sono linguaggi artificiali progettati per trasmettere istruzioni, rappresentate da codici numerici espressi in sistema binario (formalizzazione di un algoritmo) ad un computer capace di interpretarle ed eseguirle, ed anche di poter essere lette, comprese e modificate da esseri umani. Ci sono i linguaggi di basso livello che sostanzialmente sono la sequenza di istruzioni inserite nella memoria del computer espresse in codice binario, anche definiti linguaggio macchina, e sono orientati alla macchina stessa, cioè questa li esegue attraverso il processore. La nota negativa è che ogni computer può comprendere solo il proprio linguaggio macchina, poiché esso è diverso da processore a processore. Quelli di alto livello, invece, sono linguaggi più vicini alla logica umana dove le istruzioni non sono in forma numerica, ma possono essere anche parole, il cui significato corrisponde all'operazione che l’istruzione vuole che sia effettuata. Sono progettati per essere facilmente comprensibili dagli esseri umani e per essere eseguiti da un computer, però, necessitano di traduzione o interpretazione effettuate da un altro programma detto “compilatore” o ”interprete”. Questi traducono, affinché il computer comprenda le istruzioni, il linguaggio alto in linguaggio matematico binario, lo stesso del linguaggio macchina. Quindi, si ha un problema, lo si analizza, si comprende la soluzione attraverso un algoritmo che si scrive e si formalizza; poi, in base al linguaggio scelto o necessario (a seconda della macchina e/o del problema), si scrive l’algoritmo nel linguaggio stabilito, cioè si programma. Si crea poi il programma per la traduzione in linguaggio-macchina, cioè comprensibile al calcolatore, e così facendo si ha la benzina a base pensiero umano per far funzionare la macchina ed ottenere la soluzione del problema. Il primo essere umano a seguire questo scrupoloso metodo, praticamente ad inventarlo, fu la matematica Ada Lovelace, l’assistente dell’ideatore del primo computer, chiamato macchina analitica, il matematico Babbage. Praticamente quasi 100 anni prima di Turing, nel 1843, una donna realizzò il primo programma, creando stringhe di simboli matematici che, se fossero state immesse nella CPU della macchina di Babbage, si sarebbero tradotte in risultati ripetibili. Seguì Turing e poi Konrad Zuse, che intorno agli anni 1943/45 sviluppò il programma Plankalkül per permettere il funzionamento del suo elaboratore Z3. Ma il linguaggio non fu diffuso e il lavoro dell’ingegnere tedesco si perse li.
Advertisement
Durante la seconda guerra mondiale si crearono diverse soluzioni di programma per risolvere i problemi inerenti a questioni balistiche, ma fu dopo il 1950 che iniziò una esplosione di creatività rivolta alla creazione di programmi specifici per ogni problema.
Nel 1957, dopo anni di studi, un gruppo di esperti dell’IBM mette a punto un linguaggio simbolico, noto come Fortran o traduttore di formule. Fu progettato per facilitare la traduzione in codice di formule matematiche. Il Cobol, sviluppato nel 1959 da un gruppo di professionisti riuniti alla Conference on Data Systems Languages (CODASYL), fu un altro importante linguaggio tutt’ora in uso ed in continua evoluzione. Nel 1964 avviene la nascita del Basic, il primo linguaggio di programmazione semplificato progettato dai professori John George Kemeny e Thomas Eugene Kurtz del Dartmouth College nello stato del New Hampshire negli Stati Uniti. Al linguaggio Basic, acronimo per “Beginner's All purpose Symbolic Instruction Code”, in italiano, “codice simbolico di istruzioni adatto a ogni esigenza”, e il cui significato è “semplice”,“basico”, viene assegnato come nome la principale sua caratteristica. Inizialmente aveva uno scopo semplicemente didattico per insegnare le basi della programmazione agli studenti, ma ne derivò un vero e proprio linguaggio di programmazione molto amato non solo dai principianti. Infatti, ne verranno elaborate numerose versioni, di cui una ridotta appositamente per essere installata nei primi computer domestici a metà degli anni '70 i cui autori, come già detto, furono Bill Gates e il suo amico, futuro socio, Paul Allen. Nel 1970 nasce il linguaggio Pascal, sviluppato dal professore svizzero Niklaus Wirth del Politecnico di Zurigo. Il Pascal facilitò lo sviluppo del software perché consentì ai programmatori di dividere un programma in vari blocchi chiamati "funzioni" e "procedure" per rendere i programmi più facili da capire e da modificare in seguito. Il Pascal è tutt’ora uno dei più diffusi linguaggi di programmazione nelle università ed è adoperato sia in ambito scientifico che in ambito didattico. Nel 1972 esordì il linguaggio C, sviluppato al Bell Laboratories da Dennis Ritchie e fu concepito inizialmente come una sorta di assembler strutturato. (8) “C”, coi suoi eredi, è’ diventato il linguaggio più affermato nella programmazione di sistema, alla base di molti sistemi operativi, browser e videogiochi ed è diffusissimo, insieme ad una ricca raccolta di librerie di funzioni. Il linguaggio più utilizzato al mondo è Java, ideato all’inizio degli anni ‘90 da James Gosling della Sun Microsystem come linguaggio predisposto per applicazioni di intrattenimento come console per videogame e videoregistrazioni. Nel 1995, con la diffusione del World Wide Web, assunse il nome attuale e fu lanciato nel mondo informatico senza, da allora, avere mai soste di utilizzo. L’aspetto di un programma redatto in Java presenta parecchie differenze rispetto ad altri linguaggi tradizionali, perché è associato ad un programma compilatore che produce un codice che può essere adattato a qualsiasi macchina, previa ulteriore interpretazione e codificazione in linguaggio macchina da parte del computer che lo ha in uso.
Nel 1996 nasce JavaScript, all’inizio presentato col nome LiveScript, sviluppato da Brendan Eic della Netscape Communications che ha una sintassi relativamente simile a quella dei linguaggi C e Java.
Fig. 9 Una pagina di codice scritto in JavaScript
JavaScript è il principale linguaggio di programmazione per lo sviluppo di applicazioni per l’arricchimento visuale ed interattivo di pagine web. A differenza di altri linguaggi, JavaScript viene utilizzato soprattutto come linguaggio di scripting per essere integrato all'interno di un altro codice, che necessita di implementazioni per l'esecuzione di operazioni specifiche istruite da JavaScript, che non sono previste dai costrutti del linguaggio stesso. Mi piace ricordare il linguaggio Ada, nato per rappresentare il punto di maturazione perfetta di tutti i principi di progettazione di software e dei relativi meccanismi linguistici elaborati negli anni precedenti, il cui nome fu assegnato in omaggio alla prima programmatrice Ada Lovelace. Nasce nel 1980 su iniziativa del Dipartimento della Difesa degli Stati Uniti e fu progettato dal francese Jean David Ichbiah (1940/2007). Essendo la sua origine di carattere militare, Ada presenta caratteristiche fortemente orientate alla sicurezza del codice e per ciò viene ancora oggi usato in molti contesti come l’astronautica, l'aeronautica, il controllo del traffico aereo, la finanza ed i dispositivi medici. Al giorno d’oggi si rileva che il programma più utilizzato per far funzionare i nostri computer con tutte le applicazioni necessarie per il nostro lavoro ed i nostri svaghi, è C++, uno dei nipoti dell’ormai non più giovane C, ed è un linguaggio di programmazione ad alto livello
capace di integrare caratteristiche dei linguaggi di basso livello. I programmatori per soddisfare le loro esigenze che si traducono nei nostri desideri, spesso lo associano ad altri programmi. Ad esempio, i sistemi operativi (OS) più diffusi Microsoft Windows e Mac OS X sono scritti utilizzando C++ con l’aggiunta di altri programmi; per la creazione dell’ OS di Windows partecipano tre differenti linguaggi C, C++ e Assembly, mentre per l’ OSX del Mac ne vengono utilizzati quattro: C, C++, Swift e Objective C. Adobe Photoshop uno dei programmi più utilizzati è scritto in C++ e Pascal. ….E, se non è chiaro, tutto, ma proprio tutto, ci basti sapere che ciò che vediamo dai nostri schermi è frutto dell’elaborazione di programmi in differenti linguaggi alla cui base c’è la logica booleana dell’1/ 0, del vero e del falso.
In questo mondo dove tutto si compra perchè qualcuno possiede ciò che necessitiamo, esiste chi non vuole speculare sulle sue conoscenze e competenze, seppur acquisite attraverso anni di duro impegno e lavoro, ed attua una sorta di scambio-regalo. Sono i programmatori che lasciano il codice sorgente della loro applicazione disponibile a tutti gratuitamente, con la possibilità di utilizzarlo e, se se ne hanno le capacità, anche di modificarlo e distribuire le versioni trasformate del software stesso. Non ci sono licenze o restrizioni di intervento sul codice stesso: sono i programmi open source. Tale auspicabile comportamento alla base del quale c’è un forte senso etico di condivisione gratuita del sapere, consente agli utenti una maggior libertà e flessibilità, e soprattutto da la possibilità di apportare migliorie nell’ affrontare problemi specifici anche a chi non è propriamente del mestiere o a chi in quel momento ha la mente particolarmente creativa e può quindi dare il suo prezioso contributo. Il programma open source nonché sistema operativo Ubuntu, nato nel 2004, facente parte della famiglia di OS open source Linux, racchiude nel suo nome il senso profondo della scelta di operare nel mondo senza licenze e restrizioni, condividendo e sostenendo la comunità intera, sia dei programmatori che quella dei semplici fruitori. Ubuntu è un’ espressione in lingua Bantu (Africa sub-sahariana) che ha un significato profondo di benevolenza verso il prossimo, in quanto tutti siamo il prossimo dell’Altro. E’ una regola di vita basata sulla compassione ed il rispetto del prossimo: ”io sono ciò che sono in virtù di ciò che tutti siamo”. Con il termine ubuntu si esorta al sostegno ed all’aiuto reciproco per continuare a creare un legame universale di scambio che unisca l’intera umanità. Oggi più che mai, nell’era digitale, condividere un software gratuitamente è un grande atto rivoluzionario che permette a chiunque di dare il suo piccolo contributo per il bene comune, in questo caso una conoscenza diffusa dei codici utili a far funzionare il mondo attuale, senza sentirsi alienati e solo meri esecutori-consumatori; il lavoro del singolo è importante quando questo viene compreso dall’intera comunità che a sua volta ha così gli strumenti per utilizzare il suo contributo. Nelson Mandela, nei suoi discorsi usò spesso l’espressione Ubuntu per esortare il suo popolo a mantenersi unito e solidale nell’ affrontare le lotte per la libertà, la giustizia ed il rispetto per tutti gli Uomini della Terra. (9)