Executando verificação de segurança...
2

Ao meu ver as pessoas confundem muito complexidade com má qualidade. Eu concordo que a linguagem deixa certas coisas mais complexas de escrever, principalmente quanto se mais idiomático você escreve seu código, mas não vejo isso como um problema. Se fosse, Java não teria crescido como o fez. No caso de Java em específico, eu ainda argumentaria que existe muito mais código que tem que ser escrito, e que significa muito menos, do que os que você tem que escrever em Rust. Nesse exemplo de leitura de linhas, eu sei exatamente o tipo de buffer que está sendo retornado e que, inclusive, pode retornar um erro como valor, o que é uma maravilha de tratar ao comparar com try-catch.

No caso dos lifetimes, eu prefiro muito mais lidar com isso do que ficar checando se uma coisa é válida ou não para ser usada, talvez até esquecendo e gerando problemas. No fim das contas, acho até uma solução mais interessante, pois o erro deixa de ser tratado no run time para ser evitado em compile time.

Claro, tudo isso tem o downside de o tempo de escrita de um código ser maior, mas mantém a confiabilidade do que está sendo escrito. Então não da para usar Rust se você está com o prazo de entrega muito restrito, do mesmo jeito que eu não usaria JS como meu backend se eu tivesse tempo para desenvolver bem o projeto.

Carregando publicação patrocinada...