Home Artigos Go vs Rust

Go vs Rust

0
0
442

Rust ou Go? A resposta é simples: use Go.

Não porque Go é uma linguagem melhor, mas porque as pessoas querem uma resposta simples para uma pergunta (aparentemente) simples. Ambas as linguagens parecem competir pela mesma base de usuários e ambas parecem ser linguagens de “programação de sistemas”, então deve haver uma vencedora, certo? Acontece que se você escolher Rust, geralmente você precisa das garantias que a linguagem fornece:

  • Segurança contra ponteiros nulos;
  • Condições de corrida e todos os tipos de ameaças de baixo nível;
  • Comportamento em tempo de execução previsível (abstrações a custo zero e nenhum garbage collector);
  • (Quase) controle total sobre o hardware (layout da memória, recursos do processador);
  • Interoperabilidade perfeita com outros idiomas.

Se você não requer nenhum desses recursos, Rust pode não ser uma boa escolha para seu próximo projeto. Isso porque essas garantias vêm com um custo: tempo de aceleração. Você precisará desaprender os maus hábitos e aprender novos conceitos. Você vai brigar muito com o borrow checker quando começar.

Com o Go, você faz as coisas rapidamente. Go é uma das linguagens mais produtivas com as quais já trabalhei. O mantra é: resolva problemas reais hoje. Eu não acho Go uma linguagem elegante. Sua maior característica é a simplicidade. Go não é mesmo uma linguagem de programação de sistemas. Embora seja ótimo para escrever microservices e ferramentas de backend, não gostaria de escrever um kernel ou um alocador de memória com ele. Rust, por outro lado, é difícil. Levou-me muitos meses para me tornar um pouco produtivo. Você precisa investir muito tempo para ver qualquer benefício. Rust de fato é uma linguagem poderosa e fica cada dia mais forte. Parece muito mais um “Haskell pragmático” do que um “C mais seguro”.

Em 99% do tempo, Go é “bom o suficiente” e 1% não será. Daí então, dê uma olhada em Rust, porque as duas linguagens se complementam muito bem.

Referência: http://matthias-endler.de/2017/go-vs-rust/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Veja Também

Validação de CPF e CNPJ em Go

Simples e direto. Funções para validar CPF e CNPJ em Go. …