Definição – o que significa estaticamente tipado?
A tipagem estática é uma característica da linguagem de programação na qual os tipos de variáveis são declarados explicitamente e, portanto, determinados em tempo de compilação. Isso permite que o compilador decida se uma determinada variável pode executar as ações solicitadas por ela ou não.
A tipagem estática associa tipos a variáveis, não a valores. Alguns exemplos de linguagens de programação digitadas estaticamente incluem:
- Haskell
- FORTRAN
- Java
- C
- C#
- C + +
- Ada
- Jade
- Pascal
- ML
- Perl
- Scala
Definirtec explica Statically Typed
Na tipagem estática, não há necessidade de realizar verificações adicionais durante o tempo de execução para confirmar se um objeto pode realizar algumas ações. As linguagens de programação com tipos estáticos executam a verificação de tipo durante o curso da compilação, e não durante o tempo de execução, o que faz com que os programas escritos nessas linguagens sejam executados com muito mais rapidez.
Além disso, ferramentas e refatoração são melhores em linguagens com tipos estáticos, pois as ferramentas podem descobrir os tipos de variáveis à medida que o programa é codificado. Isso ajuda a compreender instantaneamente os parâmetros de uma determinada função e também os métodos disponíveis para um objeto específico. Isso torna o processo de refatoração muito mais simples também.
Com apenas algumas exceções, uma vez que um método ou objeto é refatorado, é fácil entender imediatamente quais outros códigos dependem dele. No entanto, isso tem um custo. Com algumas exceções, as linguagens tipadas estaticamente exigem anotações adicionais para notificar o compilador sobre os objetivos pretendidos do autor.
Quando se trata de estrutura de objetos, as linguagens com tipos estáticos tendem a ser menos flexíveis quando comparadas às suas contrapartes dinâmicas. Não é possível adicionar campos e métodos a um determinado objeto durante o tempo de execução. Isso pode ser complicado ao lidar com dados menos estruturados; por exemplo, a análise de JSON, XML ou consultas de banco de dados leva a mapeamentos de objetos abaixo do ideal.