Turbo Pascal

Delphi

Java

Dal problema al programma
La risoluzione di un problema avviene mediante un insieme di procedimenti, che prendono il nome di algoritmo.
Se  questo problema deve essere risolto da un calcolatore, occorre descrivere l'algoritmo mediante un linguaggio comprensibile sia all'utente che al calcolatore.
L'insieme delle tecniche necessarie per descrivere gli algoritmi in un linguaggio comprensibile al calcolatore prende il nome di programmazione, un algoritmo tradotto in tale linguaggio prende il nome di programma.
Mentre l'algoritmo descrive lo sviluppo logico di una procedura senza alcun riferimento ad un particolare sistema di elaborazione, il programma è la traduzione dell'algoritmo in un linguaggio comprensibile alla macchina.
 Il calcolatore è in grado di capire il linguaggio macchina il cui alfabeto è formato solo dalle 0,1  .
La scrittura di un programma in linguaggio macchina è estremamente onerosa in termini di tempo, per questo si inventarono i cosidetti linguaggi simbolici.
I linguaggi di programmazione
I linguaggi di programmazione si possono classificare a vari livelli. Si dice che il livello di un linguaggio di programmazione è tanto più alto quanto più ci consente di colloquiare con la macchina usando un linguaggio il più possibile vicino al linguaggio naturale.
Al livello più basso si trovano i linguaggi macchina.
Al secondo livello ci sono i linguaggi assemblativi, o linguaggi assembly, che conservano la struttura delle istruzioni in linguaggio macchina, anche se sono orientati alle esigenze del programmatore.
Ad ogni istruzione in linguaggio assembly corrisponde un'istruzione in linguaggio macchina