Linguagens de Programação¶
Linguagens adotam compromissos diferentes em sistemas de tipos, execução, memória, abstração, interoperabilidade e controle de recursos. Esta seção estuda cada linguagem em seus próprios termos antes de compará-las.
Trilhas atuais¶
- Java: POO, princípios e padrões de design, genéricos, coleções, streams, JVM, concorrência, testes e fundamentos do Spring Boot.
- C++: programação por valores e orientada a objetos, vida útil, recursos determinísticos, genéricos, biblioteca padrão e concorrência.
Método de comparação¶
Uma comparação útil separa:
- Semântica da linguagem: comportamento exigido, permitido ou proibido pelo padrão.
- Contrato da biblioteca padrão: recursos portáveis fornecidos com a linguagem.
- Implementação: decisões de compilador, runtime, ABI, otimizador e plataforma.
- Prática de engenharia: orientações de segurança ou manutenção que não são regras da linguagem.
“A linguagem X é mais rápida” não é afirmação significativa sem carga, implementação, otimização, método de medição e restrições semânticas.