Eu estava errado sobre o Rust?
Introdução
Para quem não sabe, há um bom tempo atrás eu fiz um post entitulado Por que o Rust é ruim? que teve uma repercursão até moderada aqui no TabNews. Eu queria tentar me explicar melhor sobre esse post e amenizar
algumas coisas que acabaram ficando muito extremas.
1. Sintaxe
No post, eu critico bastante a sintaxe e a consistência sintatica do Rust.
Eu ainda acho que o Rust não tem uma consistência das Melhores, acho que até C, Java, Go têm mais consistência sintatica do que o Rust.
Mas, eu estava errado sobre o quanto isso realmente importava para o workflow geral do Rust.
Depois de experimentar com algumas linguagens de programação mais verbosas e complexas/esotéricas (em termos de sintaxe) como C++ e Java, percebi que o boilerplate do Rust é praticamente nulo e que a sintaxe e que isso não importa tanto assim como performance, por exemplo.
2. Performance
Falando de performance, do Rust não há o que falar. Ele é uma verdadeira bala.
O único problema que eu encontrei sobre performance é a dificuldade de fazer um programa "realmente rápido" (ou Blazingly Fast) por conta de problemas com o uso da Heap e operações que são lentas por si só.
3. Borrow Checker: Gerenciamento de memória
No post eu simplesmente destruí o Borrow Checker injustamente. Eu digo no post que você passa uma raiva desnecessária ao programar em Rust. Agora, eu acho isso um pouco injusto se você pensar que o Borrow Checker tá la só para te ajudar.
Eu sei que para iniciantes, você pode se pegar lutando com o compilador tentando escrever o código que ele quer que você escreva. Mas nisso, já entramos nó próximo tópico do post...
4. Curva de aprendizado
É fato que no início o Rust é MUITO chato. Mas uma coisa boa que eu percebi no Rust é que a curva de aprendizado do Rust é exponencial. Quanto mais você aprende, mais você aprende rápido.
A curva de aprendizado do Rust é mais ou menos assim:
5. Resultados satisfatórios
Mesmo com seus problemas, depois de fazer mais projetos em Rust, acabei aprendendo que esses problemas no fim do dia, valem a pena. Eu percebi que ao terminar uma parte de uma implementação de uma parte de um projeto, você se sente um melhor programador. O compilador do Rust é igual a sua mãe. Ela quebra tua cabeça para você fazer as coisas direito. E no fim, o código fica "perfeito" e você sente certo prazer em ter terminado a tarefa com sucesso.
Encerramento
Eu ainda acho que o Rust é cheio de problemas. Mas eu acho que me redimi com os criadores e abri mais a minha mente sobre essa linguagem.
Obrigado por ler!