Começou com Assembly que já é mais complexo que C :O que legal!
Vou tentar seguir sua dica e estudar Assembly também. Eu gosto dessa parte do baixo nível.
Agradeço pelo comentário!
Começou com Assembly que já é mais complexo que C :O que legal!
Vou tentar seguir sua dica e estudar Assembly também. Eu gosto dessa parte do baixo nível.
Agradeço pelo comentário!
Na verdade, C é muito mais complexo que assembly. Assembly é só uma coleção de várias instruções simples1.
C pode até parecer uma linguagem simples e, no geral, é o que todo mundo fala da linguagem, mas existem muitas complexidades na linguagem. A curva de aprendizado da linguagem C confunde porque é rápido aprender o nível básico e até intermediário da linguagem, mas quando você chega no nível avançado é que fica complicado.
Ter que lidar com coisas como undefined behaviors e os algoritmos de otimização do compilador é o que mais complica na linguagem. Você sai do nível "aprender sintaxe" para o nível de ter que realmente entender os comportamentos e as semânticas da linguagem senão o compilador otimiza errado seu código e literalmente insere um bug no programa.
Claro, esse problema pode ser evitado simplesmente desligando as otimizações do compilador (-O0), mas ninguém faz isso em um software real. xD
Programar em C no nível avançado exige estudar a especificação da linguagem, conhecer bem como o compilador que você usa otimiza o código e, também, saber assembly: porque você vai ter que auditar o código assembly de saída do teu compilador para garantir que e o compilador não gerou código errado.
Espero que eu não tenha falado demais. Não quero te intimidar achando que você vai ter que aprender tudo isso. A gigantesca maioria das pessoas não chegam no nível avançado em C. Não é algo com o que você precisa se preocupar. 😄
Com exceções que não vale mencionar aqui para não complicar desnecessariamente o assunto. ↩
Nossa, isso me surpreendeu! Eu não havia me tocado que o compilador pode gerar esses problemas. Isso me assustou um pouco mas realmente, acho que não irei pegar esse nível do C kkk
Agradeço por seu compartilhamento!