# O que é Static Typing?

É uma regra que os tipos de dados no programa sejam determinados com precisão na fase de escrita, antes da execução do código.

## Definição
Em linguagens de tipo estático, ao criar uma variável, você deve primeiro especificar se ela é um número ou texto. O computador verifica essas definições antes de executar o código. Se você tentar digitar um texto onde um número é esperado, o programa apresentará um erro antes mesmo de ser executado.

## Como funciona
Os tipos são atribuídos a variáveis ​​durante a escrita do código. O compilador verifica essas atribuições. Este método reduz significativamente o risco de cometer erros em grandes projetos.

## Onde é usado
É usado em linguagens como Java, C++, Rust e TypeScript.

## Costuma ser confundido com
É confundido com linguagens de tipo dinâmico (como Python); Em linguagens dinâmicas, os tipos são determinados enquanto o código está em execução.

## Perguntas frequentes
**As linguagens de tipo estático são mais difíceis?**
Requer que você escreva um pouco mais de código no início, mas é mais seguro no longo prazo porque detecta erros muito mais cedo em projetos grandes.


## Termos relacionados
- [Rust](/pt/dictionary/rust/)
- [Compiler](/pt/dictionary/compiler/)
- [Clean Code](/pt/dictionary/clean-code/)

## Ferramentas relacionadas
- [TypeScript](/pt/discover/typescript/)

---
Fonte: TreScout Glossário · https://trescout.com/pt/dictionary/static-typing/
