L`evoluzione del linguaggio di programmazione

L'evoluzione del linguaggio di programmazione
Uno degli aspetti che hanno fortemente condizionato la storia dell’informatica è l’evoluzione dei linguaggi di
programmazione, finalizzata alla semplificazione dell’attività di sviluppo e all’aumento delle funzionalità.
Uno dei modi per catalogare i linguaggio di programmazione è in modo generazionale:
prima generazione: all'inizio, negli anni '40, l'unico metodo per programmare era il linguaggio macchina, in altre parole il
lavoro del programmatore era quello di settare ogni singolo bit a 1 o 0 su enormi computer che occupavano stanze intere
e pesavano decine di tonnellate; questo tipo di procedimento era faticoso e riservato ad una cerchia ristretta di persone.
Quello che può essere considerato il progenitore di tutti i computer è sicuramente l'ENIAC (Electronic Numerical
Integrator And Calculator ), un mastodontico calcolatore pesante 30 tonnellate, al cui progetto partecipò il matematico
Neumann.
seconda generazione, tra cui Assembly. Tale linguaggio, molto simile al linguaggio macchina, consente al
programmatore di ottenere gli stessi risultati dei linguaggi di prima generazione adoperando un minor numero di
istruzioni. Inoltre, affinché tale linguaggio possa essere tradotto in linguaggio macchina è necessario uno strumento
apposito, detto assembler (per l’operazione inversa viene invece utilizzato il cosiddetto disassembler);
terza generazione: gli sforzi volti a cercare di inventare linguaggi di programmazione che mettessero a disposizione
strumenti sempre più potenti e semplici per la codifica di algoritmi, dalla metà del secolo scorso ha portato alla nascita di
diversi linguaggi: •il Fortran (Formula Translation) per lo sviluppo di applicazioni scientifiche;
•il COBOL (Common Business Oriented Language) per lo sviluppo di applicazioni gestionali, tuttora, per la loro solidità,
utilizzati;
•il Basic, il linguaggio di programmazione per i principianti, che ha come caratteristica quella di essere molto semplice e,
infatti, diventa in pochi anni uno dei linguaggi più utilizzati al mondo;
•il Pascal, per andare incontro alle esigenze di apprendimento dei neo-programmatori, introducendo però la possibilità di
creare programmi più leggeri e comprensibili di quelli sviluppati in Basic. Ancora oggi il Pascal viene usato come
linguaggio di apprendimento nelle scuole;
•il Pl/1, venne introdotto dall’IBM insieme al sistema IBM360; combina molte delle idee di Fortran e COBOL (capacità di
calcolo, gestione e strutturazione). PL/I riusciva a combinare l’efficienza a run-time (tipica del Fortran e COBOL) con una
buona flessibilità, a prezzo di un incremento di complessità; in questo senso è uno dei linguaggi più completi;
quarta generazione: abbreviato in 4GL , acronimo di fourth-generation programming language. Si tratta di linguaggi
caratterizzati da sintassi semplice e specificità di applicazione, esempi potrebbero essere i linguaggi SQL.
Il vantaggio dei linguaggi specializzati è il paradigma, il quale permette di esprimere facilmente concetti difficili.
Lo svantaggio consiste nella difficoltà di esprimere concetti al di fuori dello specifico campo di applicazione;
quinta generazione: contiene dei linguaggi che non sono adibiti ad un uso generale, ma cercano di spostare
l’attenzione su particolari settori come la matematica e l’elettronica, inserendo progettazione visuale, database e una
risoluzione di problemi logici. La quinta generazione si è inoltre specializzata sulla ricerca robotica, ponendo particolare
attenzione sulla costruzione di Intelligenze Artificiali. Quest’ultima generazione non si è ancora imposta, essendo tuttora
in fase di ricerca nei laboratori di tutto il mondo, e diventerà popolare solamente quando la robotica sarà una realtà
apprezzata e sviluppata nella nostra vita giornaliera. Due esempi sono:
• la Lisp: si presenta come interprete, ma è anche possibile compilare i programmi, disponendo dell’ambiente di un
interprete e della velocità di un compilatore.
• la Prolog: ( Programmation en Logique) è un linguaggio di programmazione che adotta il paradigma di
programmazione logica. È impiegato in molti programmi di intelligenza artificiale, la sua sintassi e la semantica sono
molto semplici e chiare (lo scopo primitivo era quello di fornire uno strumento di lavoro a linguisti privi di conoscenze
informatiche).
Linguaggi orientati agli oggetti
La programmazione orientata agli oggetti è un paradigma di programmazione che permette di definire oggetti software in
grado di interagire gli uni con gli altri attraverso lo scambio di messaggi. Un ambito che più di altri riesce a sfruttare i
vantaggi della programmazione ad oggetti è quello delle interfacce grafiche.
Tra gli altri vantaggi della programmazione orientata agli oggetti:
-fornisce un supporto naturale alla modellazione software degli oggetti del mondo reale o del modello astratto da
riprodurre;
-permette una più facile gestione e manutenzione di progetti di grandi dimensioni;
-l'organizzazione del codice sotto forma di classi favorisce la modularità e il riuso di codice.
Tre esempi sono:
•la Small talk, è un linguaggio di programmazione orientato agli oggetti con gestione dinamica dei tipi e con un
paradigma di programmazione riflessivo. È stato creato come un linguaggio per sostenere un nuovo mondo di
programmazione, ovvero come la simbiosi dell'umano con il calcolatore.
•l'Eifel, è un linguaggio di programmazione orientato agli oggetti che enfatizza la scrittura di programmi robusti. Fu uno
dei primi linguaggi a oggetti compilati e pensati per l'utilizzo industriale. La sua sintassi ricorda quella di Pascal. Eiffel ha una tipizzazione statica, e una gestione automatica e affidabile della memoria •la Java, è un linguaggio di programmazione nato negli anni novanta, e destinato a diventare in breve tempo, il
linguaggio più utilizzato in assoluto. Nato per scopi di ricerca in ambito universitario, Java si pone come un "superlinguaggio" che supera i limiti e i difetti che hanno altri linguaggi. La Sun Microsystems ha poi fatto in modo che dal
linguaggio, si sia poi evoluta una serie di famose tecnologie che si stanno diffondendo in molti ambiti del mondo della
programmazione.
Linguaggi orientati al web
Servono per creare siti web e applicazioni orientate al web, i tre più importanti sono:
•Html, (HyperText Markup Language) è il linguaggio solitamente usato per la formattazione di documenti ipertestuali
disponibili nel World Wide Web sotto forma di pagine web.
È un linguaggio di pubblico dominio, la cui sintassi è stabilita dal World Wide Web Consortium, ed è derivato da un altro
linguaggio avente scopi più generici, l'SGML.
•Php, è un linguaggio server side di scripting completamente Open Source che si sta diffondendo sempre di più sul
mercato per la sua potenza e perché è un'alternativa alle costose soluzioni Microsoft.
Attraverso l'interazione con HTML è possibile creare pagine web dinamiche che vengono processate dal server e in
maniera rapida ed efficiente mostrate al visitatore del sito.
•Asp, è una tecnologia della Microsoft mediante la quale è possibile costruire pagine web dinamiche. Mediante le pagina ASP è possibile mostrare all'utente una serie di dati memorizzati di solito dentro il database, fogli
elettronici di calcolo (Excel ad esempio), file di testo e di modificare questi stessi dati o di aggiungerne di nuovi.