I LINGUAGGI DI PROGRAMMAZIONE
1a Generazione (linguaggio binario)
 Il sistema binario è un sistema numerico posizionale in base 2, cioè che utilizza due
simboli, tipicamente 0 e 1, invece dei 10 del sistema decimale
tradizionale.
 E’ usato in informatica per la rappresentazione interna dei numeri,
grazie alla semplicità di realizzare fisicamente un elemento con due
stadi anziché un numero superiore, ma anche per la corrispondenza con i
valori logici vero e falso.
 La conversione di un numero decimale in binario si effettua tramite l’algoritmo della
divisione: si effettua la divisione intera del numero per 2, il resto della divisione
costituisce la cifra meno significativa: si procede così sul quoziente fino a quando
quest’ultimo non si annulla.
2a Generazione (linguaggio assembler)
 Il linguaggio assembly detto anche linguaggio assemblativo, è, tra i linguaggi di
programmazione, quello più vicino al linguaggio macchina vero e
proprio, pur essendo differente rispetto a quest'ultimo.
 Un assembler (assemblatore in italiano) è un software che
trasforma le istruzioni mnemoniche dell'assembly in linguaggio
macchina. Si tratta dunque di un compilatore per un particolare
linguaggio assembly.
3a Generazione (Fortran, Cobol, RPG)
Fortran: Primo linguaggio per cui `e stato scritto un compilatore (1954). Da allora, si `e
molto evoluto: ultime versioni Fortran 90, Fortran
95 Fortran 2003.
Il Fortran puo` essere definito come un
linguaggio di programmazione di alto livello: i
programmi, infatti, non vengono scritti
direttamente nel linguaggio di macchina ma, in un
linguaggio che e` ben comprensibile per chi scrive
il programma stesso.
Cobol: Il linguaggio COBOL nasce nel 1959, come linguaggio standard, tuttavia, questo
linguaggio è eccezionale nella gestione dei dati, avvicinandosi
alle funzionalità di un sistema di gestione di basi di dati.
Il linguaggio COBOL è fatto per consentire la migrazione di
programmi applicativi su architetture fisiche e sistemi operativi
differenti; si basa convenzionalmente sulla lingua inglese ed è
composto sommariamente da parole, istruzioni, gruppi di
istruzioni, paragrafi e sezioni.
RPG: Un linguaggio creato da IBM nel 1959 e già utilizzabile su uno dei primi minielaboratori.
Il nome che significa Report Program Generator
(programma generatore di stampa),è un sistema
d’elaborazione principalmente orientato alle aziende, quindi
con esigenze massicce di stampare tabulati e moduli
commerciali.
Il linguaggio ha un input da schede perforate, svolge
determinati calcoli per mandare infine i risultati verso la
stampante.
4a Generazione (SQL,DML)
SQL: in informatica
(Structured Query Language) è un linguaggio
standardizzato per database basati sul modello relazionale(RDBMS) progettato per:
 creare e modificare schemi di database (DDL
- Data Definition Language);
 inserire, modificare e gestire dati
memorizzati (DML - Data Manipulation
Language);
 interrogare i dati memorizzati (DQL - Data
Query Language);
 creare e gestire strumenti di controllo ed
accesso ai dati (DCL - Data Control Language).
Nonostante il nome, non si tratta dunque solo di un semplice linguaggio di interrogazione,
ma alcuni suoi sottoinsiemi si occupano della creazione, della gestione e
dell'amministrazione del database.
DML: In informatica Data Manipulation Language è una famiglia di linguaggi che consente
di leggere, inserire, modificare o eliminare i dati in un database.
I comandi DML all'inizio erano utilizzati solo all'interno di programmi scritti in
altri Linguaggi di programmazione, ma in seguito all'affermazione di SQL sono oggi usati
anche dagli utenti finali.
5a Generazione (Prolog, OOP, C++, Java)
Prolog: Il Prolog (contrazione del francese PROgrammation en LOGique) è un linguaggio
di programmazione che adotta il paradigma di programmazione logica.
Il Prolog è 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).
Il Prolog si basa sul calcolo dei predicati (precisamente il
calcolo di predicati del primo ordine); tuttavia la sintassi è
limitata a formule dette clausole di Horn che sono disgiunzioni
di letterali del primo ordine quantificate universalmente con al più un letterale positivo.
OOP: In informatica la programmazione orientata agli oggetti
(Object Oriented Programming) è un paradigma di programmazione che permette di
definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio
di messaggi.
È particolarmente adatta nei contesti in cui si possono definire delle relazioni di
interdipendenza tra i concetti da modellare (contenimento, uso, specializzazione). 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
C++:un linguaggio di programmazione orientato agli oggetti, con tipizzazione statica.
È stato sviluppato (in origine col nome di "C con
classi") da Bjarne Stroustrup ai Bell
Labs nel 1983 come un miglioramento del linguaggio C.
Tra i miglioramenti principali troviamo: l'introduzione
del paradigma di programmazione a oggetti, funzioni
virtuali, overloading degli operatori, ereditarietà
multipla, template e gestione delle eccezioni.
Java: Uno dei principi fondamentali del linguaggio è espresso dal motto write once, run
anywhere (WORA scrivi una volta, esegui
ovunque): il codice compilato che viene eseguito su
una piattaforma non deve essere ricompilato per
essere eseguito su una piattaforma diversa.
Il prodotto della compilazione è infatti in un
formato chiamato bytecode che può essere
eseguito da una qualunque implementazione di un
processore virtuale detto Java Virtual Machine.
Il linguaggio deriva gran parte della
sua sintassi dai linguaggi Simula, C e C++, ma ha
meno costrutti a basso livello e implementa in modo più puro (rispetto al C++) il paradigma
object-oriented.