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]