Ogni linguaggio definisce alcuni tipi fondamentali e spesso permette al programmatore di aggiungere tipi nuovi.
I programmi per computer possono manipolare una gran varietà di dati: immagini, suoni, sequenze di caratteri, numeri, e così via, ma tutti questi dati sono rappresentati in memoria come sequenze di 0 e di 1. La sequenza 01000001 può rappresentare, per esempio, il numero intero 65, la lettera A oppure un frammento di un’ immagine in bianco e nero che contiene due pixel bianchi e sei neri. L’ informazione che permette di sapere quale sia l’interpretazione giusta si chiama tipo del dato. Ogni linguaggio definisce alcuni tipi fondamentali e spesso permette al programmatore di aggiungere tipi nuovi. Fra i tipi fondamentali si trovano in genere vari tipi numerici, le sequenze di caratteri (chiamate stringhe) e il cosiddetto tipo booleano, che può assumere solo i valori vero e falso. Un altro tipo fondamentale particolarmente importante è il riferimento o puntatore: invece di rappresentare un dato, ne indica la posizione all’interno della memoria. Tale tipo di dato rappresenta la base per costruire strutture articolate, come i grafi o gli alberi, formate da entità collegate fra loro in vario modo.