Linguagens de Alto Nível (Python, Java, C++, JavaScript, etc.)
- Abstração: Perto da lógica humana; gestão de memória, detalhes hardware ocultos.
- Produtividade: Desenvolvimento mais rápido, menos linhas de código.
- Portabilidade: Correm em qualquer plataforma com interpretador/VM/compilador.
- Compromisso: Execução mais lenta, maior uso de memória.
Linguagens de Baixo Nível (C, Assembly, Rust até certo ponto)
- Abstração: Perto de código máquina; manipulação direta de registos/memória.
- Desempenho: Velocidade máxima, overhead mínimo.
- Controlo: Acesso hardware, determinismo tempo real.
- Compromisso: Complexas, propensas a erros, específicas de plataforma, desenvolvimento mais lento.
Espetro Moderno
Muitas linguagens misturam ambas: C++ oferece abstrações alto nível com controlo baixo nível; Rust dá segurança de memória sem garbage collection; Go equilibra concorrência e simplicidade. Escolha baseada nas necessidades do projeto: app web → alto nível; kernel SO/embutido → baixo nível.