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

Eu passei o ano inteiro usando Rust. Eu vim do JavaScript (e já passei por diversas linguagens como Golang, Java e um pouquinho de C++ e C).

Eu discordo sobre a sua afirmação sobre Rust não ser adequado para Web... Um servido Web é literalmente o exercício final do Livro do Rust, reforçando a sua presença nesse ecossistema.

Sobre WEB

Claro que, não há muitos servidores web que precisam de Rust. A maioria dos casos um go já resolve. Um exemplo seria web server de redes sociais que requerem alta concorrência e performance. O ecossistema Rust entrega isso.

Sobre CLI

Sobre criar CLI, é, novamente recomendado no site oficial do Rust! E sim, Rust é muito bom nisso. Você pode fazer com JavaScritpt ou seja lá qual linguagem. Quando se utiliza Rust para CLI, não é para coisas simples. Infelizmente estão utilizando para coisas banais (o que não é pecado, mas o ganho em relação a outras linguagens é mínimo). Eu mesmo já criei alguns CLI para aprender a linguagem e uso pessoal.

Sobre as crates supostamente inúteis:

Bem, você não disse que são inúteis, mas como veio logo em seguida a um comentário sobre duplicação de crates, irei assumir que estava implícito.

textwrap formata texto de forma robusta, o que é essencial para formatação de logs, outputs em CLI, e coisas do tipo. Fazer isso manualmente é trabalhoso. Essa crate é uma mão na roda para quem realmente entende o seu proposito.

Trabalhar com Strings não é para amadores. Requer um trabalho cuidado para não ter bugs de lógica ou tornar a aplicação lenta por clone() em excesso(que não é necessário se você sabe o que tá fazendo ou se refinar bem a arquitetura da aplicação).

url manipulação de URL não é algo que possa ser feito de forma leviana e é necessário fazer de forma precisa. Isso incluí: formatar urls, obter segmentos da urls e coisas do tipo para processar corretamente. Fazer isso na mão pode (e com certeza vai em algum momento) criar um bug que pode lhe custar muito...

num_cpus essencial para quem usar Docker ou precisar fazer algum calculo matemático. Outro ponto é em tomada de decisões baseado no hardware da máquina. Portável para os sistemas operacionais mais populares (incluí outros ambientes como WASM).

postfix_assert útil se quiser um code style específico, mas nada grandioso.

É inevitável:

Até agora não encontrei nenhuma crate extremamente semelhante, mas isso é inevitável em QUALQUER ecossistema. Infelizmente sim, há crates inúteis, mas algumas realmente são simples, porém poderosas como o num_cpus.

Claro que não é perfeito:

Rust tem problemas sim, todo mundo tem, toda linguagem tem, e etc... Acontece que alguns são dramatizados. O borrow por exemplo, não achei nada tão complicado. É difícil de se adaptar rapidamente, mas não é nada tão dramático quanto fazem aparecer.

"ownership não funciona"

Ownership é apenas um CONCEITO para ilustrar como o borrow check se comporta. Não acho que o borrow check limita nada, apenas exige que você modele o problema diferente. As vezes é realmente um pé no saco e você só quer partir o teclado no meio, quando é especialmente algo simple , mas conforme você se acostumar com a linguagem é natural.

É apenas a minha opinião:

As comunidades são uma loucura em todo mundo. Se você fala bem demais algo você é defensor, se fala mal de algo é militante.

Eu gostaria de frisar que esta é a minha experiência com a linguagem. 1 ano usando não é muito tempo, mas já uma boa experiência. Esta pode não ser a sua, e tudo bem.

Carregando publicação patrocinada...
1

Eu estou utilizando Rust mais ou menos desde 2018 quando o Rust começou a tomar uma proporção maior e durante os primeiros anos de uso eu gostava bastante da linguagem e acreditava que era uma das melhores linguagens do mundo.

O problema é que quando vc começa a fazer projetos realmente sérios vc percebe o quão difícil é trabalhar com o Rust sem precisar se adequar a segurança dele.

O argumento de "você se acostuma", "é assim mesmo" é mais que inválido. Você está literalmente negando um estilo de código para seguir uma regra estúpida de design da linguagem. Isso é literalmente forçar o programador a programar do jeito que você (criador da linguagem) quer.

Eu tenho uma frase que mantenho na minha cabeça para nao enlouquecer:
"Eu odeio todas as linguagens igualmente"

Assim eu não me apego a nenhuma linguagem específica e começo a defendê-la com unhas e dentes. Coisa que 99% dos "programadores" da atualidade fazem hoje em dia e é nojento.

Outra coisa que esqueci de comentar no post é que o Rust está se tornando uma propaganda política bem forte no mundo open-source. Outra coisa bem ruim de se existir em um ambiente que não tem necessidade de envolver o tema.