Por que você deveria considerar adicionar Rust a sua stack?
Tags: productivity, javascript, rust, programming
Published: 2022-08-17 17:25:59

Rust é uma linguagem de alto nível com performance de uma de baixo nível, isso já nos leva ao nosso primeiro pronto:

## Performance
Diferente de linguagens como C ou C++, desenvolver em rust é extremamente rápido e particularmente satisfatório, com compilador extremamente eficiente em apontar problemas no código, ele se torna seu amigo e não seu inimigo (Como particularmente me sentia desenvolvendo aplicações em C por meados de 2012).
É uma linguagem memory-safe, esqueça os problemas com null pointers e etc, garbage collector não existe aqui por conta da estratégia do [Ownership](https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html).
Tudo na linguagem é voltado a te dar as possibilidades necessárias para criar os sistemas mais performáticos possíveis com a praticidade de linguagens interpretadas como JS

## Ampliar sua visão técnica
O mercado demanda cada vez mais velocidade de entrega dos desenvolvedores e linguagens como JS/TS nos ajudam demais nesse ponto, tem comunidades gigantescas e muitas soluções prontas, que dificilmente um desenvolvedor JS vai se preocupar com problemas de concorrência, starving de threads, eficiência em alocação de memória e etc.
Cada tecnologia tem seu lugar e vai atender melhor a diferentes situações, em ponto de produtividade, JS/TS é sem dúvida a melhor solução possível, dependendo da necessidade do sistema, ela te garante uma entrega rápida e concisa, o problema começa quando tendemos a usar a mesma tecnologia para TUDO.
Provavelmente, se você decidir aprender RUST, não vai usá-lo em todo o seu sistema, mas sim criar serviços para atender a demandas muito específicas que exigem uma performance e segurança extraordinária (Você até pode fazer tudo em Rust, mas como já dito, cada tecnologia tem seu lugar e não seria inteligente fazer isso na maioria das situações).
Vou exemplificar com meu caso de trabalho, minha empresa constrói sistemas para soluções financeiras, no caso de uma corretora, 80% do sistema são CRUDs, e para esses 80% nada melhor do que uma linguagem super produtiva, mas os 20% que é o livro de ordens usado em negociações e o controle de saldo dos usuários onde a atomicidade e performance tem de ser garantidas, é ai que o Rust brilha, ele te dá opções que no conforto de se trabalhar tanto tempo com linguagens interpretadas, você acaba esquecendo que existem, ele te aproxima dos fundamentos mais básicos da construção de um sistema computacional, te dando possibilidades e uma segurança que nenhuma outra linguagem interpretada vai te proporcionar.

## Oportunidades
O ecossistema do Rust é infinitamente menor comparado ao JS/TS, apesar de eu ser um amante da linguagem desde 2019, só agora estou sentindo segurança plena em trazer ela para a stack da minha empresa, pois está cada vez mais madura, mas longe de ser extremamente abrangente, isso significa um ambiente fértil de oportunidades de crescimento, os motivos citados acima tornam Rust uma linguagem muito desejada, mas existe uma grande escassez de profissionais e ferramentas para o auxílio do desenvolvimento.