Linguaggi di programmazione dalla prima generazione alla quinta ed attuale Linguaggio di prima generazione • Nasce intorno agli anni ’50 del secolo scorso e utilizza sequenze di numeri binari: 0-1 Linguaggio di seconda generazione • Nasce intorno agli anni ’60. • È il linguaggio assemblativo o Assembly che utilizza sia linguaggio binario, sia caratteri. • Viene definito mnemonico poiché i caratteri devono essere tradotti dall’assemblatore in linguaggio macchina. I linguaggi più diffusi erano l’IBM BAL e il VAX Macro. Cobol Utilizzato per : Problemi gestionali Linuaggi procedurali Fortran Utilizzato per : Sviluppo di applicazioni scientifiche Basic Successore del COBOL e del FORTRAN Utilizza istruzioni derivanti dal COBOL e dal FORTRAN è un linguaggio semplice ed intuitivo, utilizzabile anche dai principianti PROBLEMA: Spaghetti code: Il codice si intrecci molto ed è difficile riconoscere le istruzioni I problemi erano dati soprattutto dall’utilizzo sfrenato dell’istruzione goto •Sono stati introdotti negl’anni 80 •Possiedono un ulteriore grado di astrazione •Linguaggio per la gestione di database •SQL •Utilizzati nel campo dell’intelligenza artificiale e dei sistemi esperti •Sono chiamati linguaggi ad alto livello •Sono indipendenti dall’hardware della macchina Classificazione Livello di astrazione • Confronto fra linguaggi ad alto e a basso livello: Basso livello Alto livello Apprendimento: difficoltoso Apprendimento: facile Uso: difficoltoso Uso: facile Portabilità: nulla Portabilità: buona I LINGUAGGI DI 4 GENERAZIONE • Negli anni ’70 i CED erano caratterizzati dalla presenza di mainframemultiutenza, i linguaggi di programmazione utilizzati erano quello di 3° generazione sui quali la prima rivoluzione del software (programmazione strutturata ’66) non era stata sufficientemente innovativa. In questo contesto si assiste ad una decisa evoluzione delle esigenze degli utenti che, dai primi programmi di automazione di procedure continuamente ripetute, chiedono oggi di essere forniti dei mezzi necessari per reperire, riassumere, elaborare ed esaminare tutte le notizie di rilievo per la propria attività, in tutte le combinazioni possibili (INFORMATICA INDIVIDUALE). Cambiano pertanto completamente i requisiti dei programmi da sviluppare che, da rigide routine standard, si dovrebbe trasformare in strumenti flessibili, personalizzati utilizzabili con facilità, in grado di accedere ai dati necessari anche se strutturati in modo tra loro differenti, capaci di gestire le informazioni in tempi brevissimi per essere d’aiuto nei processi decisionali e permettere la scelta immediata di analisi alternative, disponibili per il question answering, anche con la simulazione delle conseguenze di situazioni ipotizzate. Cambiano anche i tempi che si è disposti ad aspettare per lo sviluppo di ogni richiesta e i cicli di vita delle applicazioni, utilizzate in alcuni casi una volta sola, in altri per poche settimane: tutto deve essere all’insegna dell’efficienza, della velocità e dell’adattabilità alla mutevolezza delle condizioni di lavoro. 5 generazione • La Quinta Generazione si è inoltre specializzata sulla ricerca robotica, ponendo particolare attenzione sulla costruzione di Intelligenze Artificiali e patterns neurali. Due linguaggi particolarmente importanti sono il Lisp ed il Prolog poiché, essendo stati scritti decenni prima che anche solo si immaginasse tale livello logico (In particolare il Lisp che è considerato il secondo linguaggio di programmazione ad alto livello più vecchio subito dopo il Fortran), sono dei capolavori di ingegno, pionieri di un futuro che ancora non esiste. Infatti, 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.