Ybadoo - Soluções em Software Livre
Turmas
1º Semestre de 2026

(Poscomp, 2024) Considerando os conceitos de verificação de tipos e inferência de tipos em linguagens de programação, assinale a alternativa correta.

A A verificação de tipos estática ocorre em tempo de execução e é comumente utilizada em linguagens de script como Python e JavaScript para identificar erros de tipo.

B A inferência de tipos é um recurso que exige que o programador declare explicitamente o tipo de cada variável e expressão, aumentando a verbosidade do código.

C Linguagens com verificação de tipos dinâmica não detectam erros de tipo até que a parte do código com o erro seja executada, o que pode levar a falhas em produção.

D A inferência de tipos geralmente compromete a segurança de tipos, pois o compilador (ou interpretador) pode fazer suposições incorretas sobre os tipos das variáveis.

E A verificação de tipos forte é sinônimo de verificação de tipos estática, garantindo que todos os erros de tipo sejam detectados antes da execução do programa.

A A verificação de tipos estática ocorre em tempo de execução e é comumente utilizada em linguagens de script como Python e JavaScript para identificar erros de tipo.

A verificação estática ocorre em tempo de compilação (antes da execução). Python e JavaScript utilizam verificação de tipos dinâmica, não estática.

B A inferência de tipos é um recurso que exige que o programador declare explicitamente o tipo de cada variável e expressão, aumentando a verbosidade do código.

A inferência de tipos tem o objetivo oposto: reduzir a necessidade de declarações explícitas. O compilador/interpretador deduz automaticamente o tipo com base no contexto, diminuindo a verbosidade.

C Linguagens com verificação de tipos dinâmica não detectam erros de tipo até que a parte do código com o erro seja executada, o que pode levar a falhas em produção.

Na verificação de tipos dinâmica, os tipos são checados apenas durante a execução do programa. Isso significa que um erro de tipo só será descoberto quando o fluxo de execução atingir efetivamente a instrução problemática. Se essa parte do código não for exercitada em testes, o erro pode passar despercebido e causar falhas inesperadas em ambiente de produção.

D A inferência de tipos geralmente compromete a segurança de tipos, pois o compilador (ou interpretador) pode fazer suposições incorretas sobre os tipos das variáveis.

A inferência de tipos é baseada em algoritmos formais (como o algoritmo Hindley-Milner) e não compromete a segurança de tipos. Ela não "supõe" tipos; ela os deduz matematicamente de forma segura e previsível.

E A verificação de tipos forte é sinônimo de verificação de tipos estática, garantindo que todos os erros de tipo sejam detectados antes da execução do programa.

Tipagem forte e verificação estática são conceitos independentes. Tipagem forte impede operações entre tipos incompatíveis (mesmo em tempo de execução), enquanto a verificação estática checa tipos antes da execução. É perfeitamente possível ter uma linguagem com tipagem dinâmica e forte (ex.: Python, Ruby).