Em linguagens de programação, um sistema de tipos é um conjunto de regras que atribuem uma propriedade chamada de tipo para as várias construções - tais como variáveis, expressões, funções ou módulos - que um programa de computador é composto. Este tipo representa muitas vezes uma descrição aproximada dos valores possíveis que as construções podem armazenar ou computar, ou as mensagens (chamadas de método) que eles vão responder. O objetivo principal de um sistema de tipos é reduzir erros em programas de computador através da definição de interfaces entre diferentes partes de um programa de computador, e em seguida, verificar que as partes tenham sido conectadas de uma maneira consistente. Essa verificação pode acontecer estaticamente (em tempo de compilação), dinamicamente (em tempo de execução) ou como uma combinação destes.

Verificação de tipo

editar

Tipagem dinâmica

editar

Tipagem dinâmica é uma característica de determinadas linguagens de programação, que não exigem declarações de tipos de dados, pois são capazes de escolher que tipo utilizar dinamicamente para cada variável, podendo alterá-lo durante a compilação ou a execução do programa.

Algumas das linguagens mais conhecidas a utilizarem tipagem dinâmica são: Python, Perl, Ruby, PHP, FoxPro e Lisp.

Contrasta com a tipagem estática, que exige a declaração de quais dados poderão ser associados a cada variável antes de sua utilização, por exemplo: C, C++, Java, entre outras.