sabato, luglio 15, 2006

Altre forme di linguaggio: dall'ENIAC a Java

Spesso mi soffermo a pensare a quante possibilità in più ci vengono offerte dalla "maledetta" tecnologia. Parlare di un netto cambio di abitudini e costumi è ormai scontato, tutti ne facciamo parte e ne siamo stati coinvolti, anche quei reticenti che credono che boicottare il cellulare di ultima generazione e le chiavette mp3 li mantenga più veri, più legati alla natura poichè "tutta questa tecnologia non serve a niente se non a farci spendere dei soldi in più"...sono d'accordo in parte, anche se non voglio divagare con questi discorsi (che riamngono comunque aperti a ulteriore riflessione). Insomma, chi di voi si è mai posto il problema di come funzioni veramente questa tecnologia? Quanti di voi si sono chiesti "ma come avranno fatto?" a realizzare qualsiasi forma di tecnologia contemporanea...la più impressionante, a mio avviso, rimangono le telecomunicazioni (parole, immagini, file che viaggiano letteralmente nell'etere)...e di conseguenza quello che sta alla base, ovvero il computer. Alle medie ricordo che ci insegnarono in un corso facoltativo il linguaggio prima del DOS, chiamato tartaruga (o qualcosa di simile...) che era tutta una serie difficilissima di comandi da dare a un cursore per fargli tracciare delle linee rette al fine di disegnare qualcosa sullo schermo. Pochi anni dopo usavo Windows, senza realmente sapere che cosa stessi facendo...perchè è così, il computer si usa e basta, come funzioni non ci è dato saperlo.

La Storia
Tutti abbiamo sentito parlare di "bit" e ormai un po' tutti almeno sappiamo cosa sia il linguaggio 0 e 1. Si tratta di una trovata di alcuni esperti elaborata negli anni '40. Il primo computer era una roba gigantesca, non stava neanche dentro a una stanza d'appartamento, si chiamava ENIAC (Electronic Numerical Integrator And Calculator ), un mastodontico calcolatore pesante 30 tonnellate. A parte la mole la cosa particolare fu che era completamente programmabile (ovvero era possibile fargli "ricordare" una serie di comandi di calcolo partendo da zero) e funzionava senza parti meccaniche in movimento.
Negli anni '50 compare un nome noto a tutti: IBM. John Backus era dipendente dell'IBM ed elaborò un nuovo linguaggio di programmazione, il FORTRAN (FORmula TRANslation) che automatizzava i calcoli matematici e scientifici, cioè si parla del linguaggio poi adottato universalmente per le calcolatrici da tavolo...voleva dire che fino ad allora si scriveva tutto a mano!
Negli anni '60 si pensa di automatizzare i calcoli legati all'attività aziendale (ovviamente a partire dagli USA, è chiaro che è diventato il primo paese industrializzato capitalista) e si elabora il COBOL (COmmon Business Oriented Language) che facilitava operazioni di fatturazione, contabilità, stipendi e altro. Il COBOL riscosse molto successo nelle aziende americane grazie alla sua discreta facilità: i comandi erano infatti delle stringhe che assomigliavano molto a frasi di senso compiuto in inglese. Sempre negli anni '60 lo stesso Backus del FORTRAN lavora con un matematico (Naur) per creare un sistema in grado di rappresentare le regole dei linguaggi: nasce l'ALGOL, sebbene non abbia riscosso lo stesso successo dei suoi predecessori. Ma quando nasce il BASIC? Il BASIC (Beginner's All purpose Symbolic Instruction Code) nasce sempre all'inizio degli anni '60 ed è esplicitamente rivolto ai principianti. Anche oggi è tra i migliori linguaggi usati nelle scuole a scopo didattico e ne sono state poi realizzate molte versioni migliorative. "Sul Macintosh abbiamo il Chipmunk BASIC che è rimasto piuttosto fedele alla sintassi dei suoi "antenati". Sempre dal BASIC discende tutto il filone dei vari Visual BASIC, linguaggi visuali orientati agli oggetti, con l'interfaccia grafica (bottoni, finestre etc.) ready to use. La più recente versione di BASIC visuale è il REALBasic della Real Software."
Anni '70. "Niklus Wirth ideò e realizzo il Pascal affinché facilitasse l'applicazione delle regole e della tecniche di programmazione. Il suo scopo era ottenere un linguaggio adatto per l'insegnamento della scrittura di programmi e centrò benissimo il suo obiettivo, tanto che il Pascal è ancora oggi molto usato nelle scuole." Sempre negli anni '70 (1972) nasce la prima versione del linguaggio C. Le sue diversità stavano nel fatto che implementasse i caratteri, le strutture numeriche, numeri in virgola mobile così come nessuno dei linguaggi precedenti avesse potuto mai fare. "Il C e' un linguaggio ad alto livello che possiede un insieme ristretto di costrutti di controllo
e di parole chiave, e un ricco insieme di operatori, ed è un linguaggio apparentemente povero: non possiede istruzioni di entrata/uscita nè istruzioni per operazioni matematiche. È stato talvolta definito come "il linguaggio di piu' basso livello tra i linguaggi ad alto livello", infatti nasce per lo sviluppo di sistemi operativi, quindi per softwaredi basso livello, ma riesce a mantenere semplicita' d'uso."
Per ben 20 anni il linguaggio C sembra insostituibile fino alla metà degli anni '90, quando viene creato Java. "La SUN, qualche anno fa presentò il Java come un linguaggio di programmazione Object Oriented semplice e familiare a chi conosce il C++, indipendente dall'architettura, e sicuro per l'uso in rete. In effetti, uno stesso programma funziona su Mac, PC , Unix e SGI, senza richiedere modifiche o ricompilazioni. Però, per chi non conosce il C++, Java risulta difficile da imparare come qualsiasi altro linguaggio."

Vista la mia vistosa ignoranza in materia, ho deciso che farò un piccolo corso di linguaggio C. Interessa anche a te? Allora vai sul link di ilmac.net!

fonte: Alessandro Palmisano (www.ilmac.net), P.S. sul questo sito ci sono un sacco di articoli interessanti, forse un po' tecnici ma realizzati con criterio...!

Etichette: