Linguaggi di programmazione
Transcript
Linguaggi di programmazione
L’EVOLUZIONE DEL LINGUAGGIO LINGUAGGIO BINARIO: Il sistema numerico binario è un sistema numerico posizionale in base 2. Esso utilizza solo due simboli, di solito indicati con 0 e 1, invece delle dieci cifre utilizzate dal sistema numerico decimale. Ciascuno dei numeri espressi nel sistema numerico binario è chiamato "numero binario". In informatica il sistema binario è utilizzato per la rappresentazione interna dell'informazione dalla quasi totalità deglielaboratori elettronici, in quanto le caratteristiche fisiche dei circuiti digitali rendono particolarmente conveniente la gestione di due soli valori, rappresentati fisicamente da due diversi livelli di tensione elettrica. Tali valori assumono convenzionalmente il significato numerico di 0 e 1 o quelli di vero e falso della logica booleana. Un numero binario è una sequenza di cifre binarie (dette bit). Ogni cifra in posizione (contate da destra verso sinistra iniziando da 0) si considera moltiplicata per , anziché per , come avviene nella numerazione decimale. LINGUAGGIO ASSEMBLY: Il linguaggio assembly, detto anche linguaggio assemblativo, è, tra ilinguaggi di programmazione, quello più vicino al linguaggio macchina vero e proprio, pur essendo differente rispetto a quest'ultimo. Erroneamente viene spesso chiamato "assembler", anche se quest'ultimo termine identifica ilprogramma "assemblatore" che converte il linguaggio assembly in linguaggio macchina. L'assembly ha lo scopo generale di consentire al programmatore di ignorare il formato binario del linguaggio macchina. Ognicodice operativo del linguaggio macchina viene sostituito, nell'assembly, da una sequenza di caratteri che lo rappresenta in forma mnemonica; per esempio, il codice operativo per la somma potrebbe essere trascritto come ADD e quello per il saltocome JMP . In secondo luogo, i dati e gli indirizzi di memoria manipolati dal programma possono essere scritti, in assembly, nella base numerica più consona al momento: esadecimale, binaria, decimale, ottale ma anche in forma simbolica, utilizzando stringhe di testo (identificatori). Il programma assembly risulta in questo modo relativamente più leggibile di quello in linguaggio macchina, con il quale mantiene però un totale (o quasi totale) isomorfismo. Il programma scritto in assembly non può essere eseguito direttamente dal processore; esso deve essere tradotto nel linguaggio macchina (binario) corrispondente, usando un programma compilatore detto assembler. LINGUAGGIO FORTRAN: Il Fortran (o FORTRAN: il nome maiuscolo è stato sostituito da quello con la sola iniziale maiuscola a partire dal Fortran 90 - acronimo di FormulaTranslation o Translator ovvero traduzione/traduttore di formule matematiche in algoritmi computazionali), è uno dei primi linguaggi di programmazione, essendo stato sviluppato a partire dal 1954, da un gruppo di lavoro guidato da John Backus. Il primo manuale di riferimento per il programmatore del FORTRAN I, "The FORTRAN automatic coding system for the IBM 704 EDPM", scritto dallo stesso Backus, è del 1956; il compilatore fu pubblicato nel 1957. Il Fortran è un linguaggio quasi sempre compilato, imperativo, con tipizzazione statica delle variabili, progettato principalmente per il calcolo scientifico enumerico; vi sono state però anche implementazioni con codice interpretato. Un tipo particolare di Fortran compilato è il Fortran FLAG (Fortran Load And Go), sviluppato da Bob Richardson, programmatore presso la Rice University, molto usato negli anni settanta per l'esecuzione di programmi non troppo complessi. Grazie sia agli innumerevoli programmi applicativi sviluppati nel corso degli anni, sia alle immense librerie di funzioni (richiamabili anche da programmi scritti con altri linguaggi di programmazione), il Fortran è tuttora molto usato. Di esso esistono varianti per il calcolo parallelo (usate nel calcolo scientifico: simulazione di fluidi, interazioni fra particelle, previsioni meteorologiche, ecc.); inoltre, anche se progettato originariamente come linguaggio procedurale, alcune sue versioni più recenti consentono di usare anche costrutti propri dellaprogrammazione orientata agli oggetti. LINGUAGGIO COBOL: In informatica il COBOL (acronimo di COmmon Business-Oriented Language, ossia, letteralmente, "linguaggio comune orientato alle applicazionicommerciali") è uno dei primi linguaggi di programmazione ad essere stato sviluppato. Nonostante sia un linguaggio datato il COBOL è tuttora presente in molte applicazioni software commerciali di tipo bancario, specie lato mainframe(es. CICS), che non si è preferito o voluto migrare in altra tecnologia software.[1] Progettato nel 1959, nasce ufficialmente nel 1961, grazie ad un gruppo di lavoro composto dai membri dell'industria americana e da alcune agenzie governative degli Stati Uniti con lo scopo di creare un linguaggio di programmazione adatto all'elaborazione di dati commerciali. Grace Murray Hopper ebbe un ruolo primario nello sviluppo e nella progettazione di questo linguaggio. Dagli anni sessanta a oggi, il COBOL ha subito continue evoluzioni: negli anni 1968, 1974 e 1985 l'American National Standards Institute (ANSI) ha definito gli standard Cobol68, Cobol74 e Cobol85, adottati anche dall'Organizzazione internazionale per la normazione (ISO). Con l'ISO/IEC 1989-2002, iniziato nel 1989 e terminato nel 2002, si è giunti allo standard internazionale definitivo. Gli applicativi COBOL, noti per la loro stabilità, sono ancora oggi (nel 2013), e lo saranno sicuramente ancora per molti anni a venire, alla base del funzionamento dei Bancomat e dell'operatività di molte banche e assicurazioni; in effetti molto spesso ciò è dovuto anche al fatto che questi applicativi sono stati sviluppati a partire dagli anni sessanta e continuamente implementati negli anni settanta e ottanta a seguito della prima diffusa informatizzazione aziendale fino agli ultimi imponenti interventi: Il 31 dicembre 1998 per gestire il passaggio dalla Lira all'Euro. Si ricorda infatti che - se pur la moneta è stata utilizzata a partire dal 2002 - le transazioni finanziarie sono state regolate in Euro a partire dal 1º gennaio 1999. Il 31 dicembre 1999 per evitare il pericolo del Millennium Bug Lo standard COBOL 2002 include il supporto alla programmazione orientata agli oggetti e altre caratteristiche tipiche di un linguaggio moderno. Il COBOL oggi rimane alla base del 70% di tutte le transazioni aziendali, in COBOL sono scritte l’85% delle applicazioni business nel mondo[2]. Secondo un'indagine Micro Focus le aziende ancora oggi cercano programmatori COBOL da sostituire agli sviluppatori storici poiché il 75% dei processi di riscrittura in un linguaggio più moderno si sono rivelati fallimentari o il costo di sostituzione è troppo alto da sostenere [2], essendo stato il COBOL progettato per un ambiente operativo con interfaccia a caratteri; tuttavia non mancano esempi di successo nell'adeguamento delle STAMPE COBOL a sistemi operativi grafici, ricorrendo semplicemente alla loro codifica in formato html (grafico) anziché txt(a caratteri). LINGUAGGIO PASCAL: In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth. Si basa sul linguaggio ALGOL e fu così chiamato in onore del matematico e filosofo francese Blaise Pascal, inventore della prima macchina calcolatrice automatica. Wirth era un docente di programmazione e sentiva la mancanza di un vero linguaggio di programmazione adatto alla didattica e che fosse dotato di strutture dati avanzate. Il BASIC, creato nel 1964, era facile da imparare ma non aveva strutture dati avanzate e soprattutto non incoraggiava affatto ad analizzare il problema da risolvere prima di scrivere il codice. Perciò, Wirth creò da zero il Pascal, inserendo nel linguaggio il concetto di programmazione strutturata. La prima implementazione del linguaggio divenne operativa nel 1970, ma raggiunse una discreta diffusione nel campo industriale nel 1973 con la pubblicazione del testo: "Pascal user manual and Report". Questo è il testo di riferimento standard per il linguaggio. TeX e buona parte delle prime versioni del sistema operativo del Macintosh e di Microsoft Windows furono scritte in Pascal. Essendo un linguaggio pensato per degli utenti inesperti, spesso i compilatori Pascal hanno un atteggiamento materno nei confronti del programmatore, partendo dal presupposto che qualunque irregolarità del codice scritto sia un errore, che infastidisce un po' gli esperti. In cambio è un linguaggio completo e potente, e soprattutto educa fin dall'inizio ad adottare un buono stile di programmazione e ad analizzare a fondo il problema prima di cominciare a scrivere il codice, cosa che rende i programmi Pascal più chiari e più facili da leggere. Data la diffusione negli ambienti scolastici, ne sono state create versioni ad oggetti, come il Turbo Pascal e l'Object Pascal(utilizzato nell'ambiente di sviluppo Delphi di Borland). LINGUAGGIO BASIC: Il BASIC, in informatica,[1] è un linguaggio di programmazione ad alto livellosviluppato nel 1964 presso l'Università di Dartmouth sul calcolatore GE-225. Ne furono coinventori i professori John George Kemeny e Thomas Eugene Kurtz. Il primo programma in BASIC "girò" il 1º maggio 1964 alle ore 4:00. Fino agli anni sessanta del XX secolo i computer erano ingombranti, estremamente costosi e difficili da programmare. Erano acquistati da industrie, istituti governativi o università. Data la loro scarsa potenza elaborativa, i linguaggi di programmazione erano orientati alla massima efficienza sacrificando la facilità di scrittura del codice e la sua leggibilità. Questi fattori, uniti alla difficoltà di poter accedere ad un computer, relegavano l'uso di queste macchine a poche persone e per particolari compiti. Nel 1959 anche l'università di Dartmouth acquistò un proprio computer, un LGP-30, affidato al reparto informatico sotto la direzione di Kurtz. Gli utenti non potevano avere un accesso libero alla macchina ma dovevano inserire i loro programmi nel sistema che li eseguiva poi nell'ordine in cui li aveva ricevuti. Dall'inserimento all'ottenimento dei risultati poteva quindi passare un discreto lasso di tempo (ore ma anche giorni). Per ovviare a questo problema Kemeny e Kurtz iniziarono a sviluppare un sistema di timesharing per poter consentire l'accesso a più utenti contemporaneamente e l'esecuzione di più programmi simultaneamente. Per permettere ciò l'università acquistò anche un nuovo computer, un GE-235, e 30 terminali GE Datanet-30 che furono dislocati in vari ambienti di Dartmouth grazie ai quali gli studenti potevano inserire i loro programmi nell'unità centrale in modo rapido e semplificato. Il sistema supportava inizialmente anche altri linguaggi come il FORTRAN e l'ALGOLma Kurtz e Kemeny studiarono un altro linguaggio che fosse più semplice da imparare e di uso generale sviluppando così ilBASIC (Beginner's All-purpose Symbolic Instruction Code).[3] Negli anni seguenti, con il nascere di diverse versioni del linguaggio, il BASIC sviluppato originariamente da Kemeny e Kurtz fu indicato come Dartmouth BASIC. Con gli anni il BASIC ha subito notevoli evoluzioni e cambiamenti, diventando un linguaggio strutturato con potenzialità molto simili a quelle di altri linguaggi più evoluti. Le numerose versioni attuali del BASIC affiancano ai concetti originari nuovi concetti, quali la gestione degli oggetti, la ricorsività, la strutturazione: vedi ad esempio il Visual Basico il REALbasic.Oggi è stato quasi completamente soppiantato a favore del più efficiente linguaggio assembly, ma viene ancora utilizzato per le applicazioni lente, di fatto sin dal momento della nascita ha avuto da sempre un problema: la scarsa velocità di sistema. LINGUAGGIO RPG RPG oppure RPG IV è un linguaggio di programmazione nativo per minicomputer IBM della serie iSeries, denominata anche, più comunemente, AS/400. La sua versione più recente comprende l'uso di prototipi di funzioni e procedure, binding statico e dinamico dei dati, accesso a librerie di routine scritte in C, uso di funzioni contenute in DLL compilate a partire da altri linguaggi, e supporta totalmente codice dotato di sintassi ricorsiva e rientrante. LINGUAGGIO C In informatica, il C è un linguaggio di programmazione di tipo strutturato. Il C è un linguaggio di programmazione ad alto livello[1][2][3] che integra caratteristiche dei linguaggi di basso livello, come illinguaggio macchina e l'assembly, per questo si usa anche l'espressione "di medio livello". Il C è rinomato per la sua efficienza, e si è imposto come linguaggio di riferimento per la realizzazione di software di sistema su gran parte delle piattaforme hardware moderne. La standardizzazione del linguaggio (da parte dell'ANSI prima e dell'ISOpoi) garantisce la portabilità dei programmi scritti in C (standard, spesso detto ANSI C) su qualsiasi piattaforma. Oltre che per il software di sistema, il C è stato a lungo il linguaggio dominante in tutta una serie di altri domini applicativicaratterizzati da forte enfasi sull'efficienza. Esempi tipici sono le telecomunicazioni, il controllo di processi industriali e il software real-time. Oggi il predominio del C in questi contesti è in parte diminuito a seguito dell'avvento di competitorsignificativi, primo fra tutti il C++. Il C ha, e continua ad avere, anche una notevole importanza didattica, sebbene, per la sua complessità semantica e per le forti relazioni di tale semantica con il funzionamento dell'hardware dei computer, non si tratti di un linguaggio particolarmente intuitivo per i principianti, e in special modo a quelli sprovvisti di un adeguato background sull'elettronica dei calcolatori. Se un tempo scuole superiori e corsi universitari adottavano il C come linguaggio di riferimento a causa della sua importanza tecnica, oggi questa scelta trova un'ulteriore motivazione nella crescente importanza di linguaggi che dal C derivano (per esempio C++,Java e C# e, per consentire allo studente un approccio iniziale più rapido ed intuitivo, linguaggi ad alto livello come Python). LINGUAGGIO JAVA In informatica Java è un linguaggio di programmazione orientato agli oggetti, specificatamente progettato per essere il più possibile indipendente dallapiattaforma di esecuzione. Java è stato creato a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta. Nel 1992 nasce il linguaggio Oak (in italiano "quercia"), prodotto da Sun Microsystems e realizzato da un gruppo di esperti sviluppatori capitanati da James Gosling.[1] Tale nome fu successivamente cambiato in Java a causa di un problema di copyright (il linguaggio di programmazione Oak esisteva già).[2] Per facilitare il passaggio a Java ai programmatori old-fashioned, legati in particolare a linguaggi come il C++, la sintassi di base (strutture di controllo, operatori e così via) è stata mantenuta pressoché identica a quella del C++[3][4]; tuttavia, non sono state introdotte caratteristiche ritenute fonti di una complessità non necessaria a livello di linguaggio e che favoriscono l'introduzione di determinati bug durante la programmazione, come l'aritmetica dei puntatori, l'ereditarietà multipla delle classi, e l'istruzione goto.[5] Per le caratteristiche orientate agli oggetti del linguaggio ci si è ispirati al C++ e soprattutto all'Objective C.[6] In un primo momento Sun decise di destinare questo nuovo prodotto alla creazione di applicazioni complesse per piccoli dispositivi elettronici; fu solo nel 1993 con l'esplosione di internet che Java iniziò a farsi notare come strumento per iniziare a programmare per internet. Contemporaneamente Netscape Corporation annunciò la scelta di dotare il suo allora omonimo e celeberrimo browser dellaJava Virtual Machine (JVM). Questo segna una rivoluzione nel mondo di Internet: grazie alle applet, le pagine web diventarono interattive a livello client (ovvero le applicazioni vengono eseguite direttamente sulla macchina dell'utente di internet, e non su un server remoto). Gli utenti poterono per esempio utilizzare giochi direttamente sulle pagine web ed usufruire di chat dinamiche e interattive. Java fu annunciato ufficialmente il 23 maggio 1995 a SunWorld. Il 13 novembre 2006 la Sun Microsystems ha distribuito la sua implementazione del compilatore Java e della macchina virtuale (virtual machine) sotto licenza GPL. Non tutte le piattaforme java sono libere. L'ambiente Java libero si chiama IcedTea.[7] L'8 maggio 2007 Sun ha pubblicato anche le librerie (tranne alcune componenti non di sua proprietà) sotto licenza GPL, rendendo Java un linguaggio di programmazione la cui implementazione di riferimento è libera.[8] Il linguaggio è definito da un documento chiamato The Java Language Specification (spesso abbreviato JLS). La prima edizione del documento è stata pubblicata nel 1996. [9] Da allora il linguaggio ha subito numerose modifiche e integrazioni, aggiunte di volta in volta nelle edizioni successive. Ad oggi, la versione più recente delle specifiche è la Java SE 8 Edition(quarta).[9]