atribuem uma propriedade chamada de tipo para várias construções que um programa de computador é composto (variáveis, expressões, funções ou módulos). Uma linguagem de programação pode ser classificada de acordo com o seu sistema de tipos. Vou falar sobre linguagem de tipagem estática e linguagem de tipagem dinâmica.
Python para Todos – Evaldo Wolkers
Introdução
Em uma linguagem de tipagem estática,
verificações de tipo de dados são feitas em tempo de compilação. Qual o meu tipo Vou de dados? armazenar número ou VARIÁVEL texto?
Python para Todos – Evaldo Wolkers
Introdução
Já em linguagem de tipagem dinâmica, as
verificações são feitas em tempo de execução.
Que legal, vou
armazenar um VARIÁVEL 10.25 número com decimais
Python para Todos – Evaldo Wolkers
Tipagem estática
Em uma linguagem de tipagem estática é feita uma
verificação dos tipos usados em dados e variáveis para garantir que se está usando um tipo de dados que é esperado em todas as situações. O compilador oferece algumas garantias que alguns problemas não irão ocorrer após o programa passar por esta verificação. Os erros são verificados antes do sistema ser executado. Mas isso não te salva de todos os erros que podem acontecer. Python para Todos – Evaldo Wolkers Tipagem estática
O compilador deve conhecer o tipo de uma variável ou
método antes da execução do programa. O tipo de uma variável é explicitamente declarado. Uma variável não pode mudar seu tipo em tempo de execução. VARIÁVEL DO TIPO INTEIRO “EI, EU SOU UM TEXTO”
ERRO, UMA VARIÁVEL DO TIPO INTEIRO NÃO PODE ARMAZENAR TEXTO.
Python para Todos – Evaldo Wolkers
Tipagem estática
Exemplo de linguagens de tipagem estática:
C, C++, Java, C#, Cobol.
Python para Todos – Evaldo Wolkers
Tipagem estática
Exemplo de código Java:
Erros apresentados.
Python para Todos – Evaldo Wolkers
Tipagem dinâmica
Em uma linguagem de tipagem dinâmica, também há
uma verificação, mas somente em cima dos dados, já que uma variável pode conter qualquer tipo de dado. É dada ao programador a responsabilidade de realizar testes para garantir que todos os tipos estão corretos nos momentos certos. O tipo de uma variável ou método é desconhecido até a execução do programa. Python para Todos – Evaldo Wolkers Tipagem dinâmica
Exemplo de linguagens de tipagem dinâmica:
Python, Perl, Ruby, PHP, Lisp.
Python para Todos – Evaldo Wolkers
Tipagem dinâmica
Exemplo de código Python:
Python para Todos – Evaldo Wolkers
Tipagem forte
Python é uma linguagem fortemente tipada. Isso quer
dizer que o interpretador do Python avalia as expressões e não faz coerções automáticas entre tipos de dados não compatíveis. O Python não converte automaticamente os tipos de dados, fazendo com que o resultado seja mais consistente.
Python para Todos – Evaldo Wolkers
Tipagem forte
Exemplo de código Python:
Python não converte o inteiro para string automaticamente.
Python para Todos – Evaldo Wolkers Tipagem forte
Mais um exemplo em Python:
TypeError
Python para Todos – Evaldo Wolkers
Tipagem forte
Java também é uma linguagem de tipagem forte:
Tentativa de somar um inteiro com um booleano. O Java não faz conversão.
Python para Todos – Evaldo Wolkers
Tipagem forte
Exemplo de código Java:
O Java trata strings
de forma diferente, sempre concatenando. Pode gerar um resultado não esperado.
Python para Todos – Evaldo Wolkers
Tipagem fraca
JavaScript é uma linguagem de tipagem fraca. Isso quer
dizer que o JavaScript faz coerção de tipos ao executar operações de forma automática.