In informatica, e in particolare in programmazione, l'espressione tipizzazione forte (strong typing) può essere usata per caratterizzare il tipo di regole che un determinato linguaggio di programmazione impone, a livello sintattico o semantico, circa la tipizzazione dei dati e all'uso dei dati in relazione al loro tipo. L'opposto della tipizzazione forte è la tipizzazione debole.

Descrizione

In un linguaggio fortemente tipizzato, il programmatore è tenuto a specificare il tipo di ogni elemento sintattico che durante l'esecuzione denota un valore (per esempio un valore costante, una variabile o un'espressione), e il linguaggio garantisce che tale valore sia utilizzato in modo coerente con il tipo specificato: per esempio, non è possibile eseguire una somma aritmetica su dati di tipo stringa. Questo concetto generale può applicarsi con diverse sfumature; a seconda del contesto. Dunque, l'espressione linguaggio fortemente tipizzato può riferirsi a cose leggermente diverse:

Un esempio limite di linguaggio debolmente tipizzato è il linguaggio macchina, in cui un'area di memoria, rappresentata nel codice da un indirizzo di memoria, può essere usata indifferentemente per contenere valori di qualunque tipo, numeri interi, numeri con la virgola, caratteri, e così via. I linguaggi di programmazione ad alto livello tendono ad avere sistemi dei tipi più sicuri e quindi ad avvicinarsi all'ideale della forte tipizzazione, ma in genere rimangono disponibili meccanismi per trattare dati in modo flessibile che si prestano a essere utilizzati per violare il sistema dei tipi. Per esempio, il linguaggio C fornisce almeno tre meccanismi che lo qualificano come linguaggio debolmente tipizzato:

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica