O JS não é uma linguagem compilada, mas que erros uma linguagem compilada aponta antes de rodar o programa que o "VSCode" ou "Eslinter" não mostram? Um dos erros é o tipo eu acho, mas tem outros?
O JS não é uma linguagem compilada, mas que erros uma linguagem compilada aponta antes de rodar o programa que o "VSCode" ou "Eslinter" não mostram? Um dos erros é o tipo eu acho, mas tem outros?
Olá, Luidi! Como vai?
As linguagens compiladas, como C++ ou Java, realizam uma série de verificações antes de executar o código, durante o processo de compilação. Vou listar alguns tipos de erros que podem ser detectados por uma linguagem compilada e que, às vezes, não são capturados por ferramentas de análise estática:
Erros de Tipagem: Como você mencionou, linguagens compiladas verificam se os tipos de dados estão sendo usados corretamente. Por exemplo, tentar atribuir uma string a uma variável que espera um número resultaria em um erro de compilação.
Erros de Sintaxe: Embora o ESLint e o VSCode possam detectar muitos erros de sintaxe, o compilador pode ser mais rigoroso em verificar a conformidade do código com a gramática da linguagem.
Erros de Linkagem: Durante a compilação, o linker verifica se todas as referências a funções e variáveis externas são resolvidas corretamente. Isso não é algo que o ESLint ou o VSCode tipicamente fariam.
Alocação de Memória: Em linguagens como C++, o compilador pode detectar problemas potenciais relacionados à alocação de memória, como tentativas de acessar memória que não foi alocada.
Erros de Otimização: Compiladores podem identificar e otimizar partes do código que são ineficientes, algo que uma ferramenta de análise estática não faz.
No entanto, vale lembrar que ferramentas como o ESLint são extremamente úteis para garantir a qualidade do código JavaScript, ajudando a identificar problemas de estilo, possíveis bugs e más práticas de programação. Além disso, o uso de TypeScript, que é um superconjunto do JavaScript, pode trazer muitos dos benefícios das linguagens compiladas, como a verificação de tipos.
Espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!