Tipagem forte e fraca

Definição

Tipagem forte e tipagem fraca são dois estilos de controle sobre os tipos de dados em uma linguagem. A diferença principal está em como a linguagem trata operações entre tipos diferentes.

Tipagem forte Tipagem fraca
Não permite operações entre tipos diferentes sem conversão explícita Realiza conversões automáticas entre tipos (coerção implícita)
Erro ao combinar tipos incompatíveis Pode produzir resultados inesperados, mas não gera erro imediato
Mais segura e previsível Mais flexível, mas mais propensa a bugs ocultos

Por que é importante

O tipo de sistema de coerção afeta diretamente a confiabilidade do código. Tipagem forte ajuda a detectar problemas logo no início e evita erros silenciosos. Já a tipagem fraca pode facilitar operações rápidas, mas aumenta o risco de comportamentos inesperados.

Linguagens com cada abordagem

  • Tipagem forte: Python, Java, C#, Ruby, Haskell
  • Tipagem fraca: JavaScript, PHP, C (em alguns contextos), Perl

Vale lembrar que algumas linguagens apresentam comportamentos híbridos, dependendo do contexto ou da operação. Por exemplo, C permite certas conversões automáticas entre inteiros e ponteiros.

Exemplo em código (JavaScript e Python)

// Tipagem fraca (JavaScript)
console.log("5" - 2); // 3 (string "5" é convertida para número)
# Tipagem forte (Python)
print("5" - 2)  # TypeError: unsupported operand types

Em JavaScript, a string "5" é convertida automaticamente para número, o que exemplifica coerção implícita. Já em Python, essa operação é inválida sem conversão manual.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com