Rust

Compartilhar:

As perguntas nesta seção foram mostradas aos desenvolvedores que identificaram o Rust como uma das linguagens que eles usam.

Como você utiliza o Rust?

67%

Para projetos pessoais/paralelos

61%

Como hobby

18%

Para o trabalho

1%

Outros

Percebi que, embora o Rust esteja crescendo, os números relativos aqui permanecem os mesmos. Isso é bom! Significa que o número de entusiastas do Rust está aumentando, e eles podem se tornar profissionais a um bom ritmo. Empregadores, tomem nota: se vocês olharem além das pessoas com "X anos de experiência profissional em Rust", encontrarão um grande grupo de pessoas contratáveis que estão dispostas a trocar seus empregos atuais.

Florian Gilcher

Diretor administrativo da Ferrous Systems

Curiosamente, o Rust fez a transição de "uma nova linguagem estranha" para algo que "não seria loucura colocar em produção" há alguns anos. Então, um crescimento aqui é esperado e muito bem-vindo.

Aleksey Kladov

Membro da equipe de ferramentas de desenvolvimento do Rust

Há quanto tempo você utiliza o Rust?

22%

Há menos de um mês

36%

De 1 a 6 meses

18%

De 6 meses a 1 ano

19%

De 1 ano a 3 anos

5%

Há mais de 3 anos

O Rust é uma linguagem jovem e, por isso, é difícil encontrar pessoas com muitos anos de experiência. Por esse motivo, os gerentes que adotam o Rust devem dedicar orçamento para treinamentos e outras formas de educação e suporte para suas equipes. Além disso, considere que alguém que tem programado por décadas é capaz de adotar uma nova linguagem de programação rapidamente com uma certa ajuda.

Florian Gilcher

Diretor administrativo da Ferrous Systems

Aqueles que usaram o Rust no passado ainda o usam. A parcela relativa de recém-chegados tem sido quase constante, mostrando um padrão de crescimento orgânico saudável. A parcela de usuários seniores do Rust cresceu, o que é uma boa notícia para quem deseja empregá-los.

Andre Bogus

Mantenedor do Clippy, editor do TWiR, colaborador do Rust, usuário profissional do Rust

Que linguagens de programação você usa em seus projetos junto com o Rust?

22%

JavaScript, TypeScript

15%

Python

12%

C++

12%

Go

11%

C

6%

Java

3%

C#

2%

PHP

1%

Elixir

1%

Ruby

3%

Outros

49%

Nenhuma opção

Aproximadamente metade dos entrevistados são programadores poliglotas, usando outra linguagem junto com o Rust. Parece que as porcentagens refletem aproximadamente a popularidade atual. Como se costuma dizer, a ferramenta perfeita é muitas vezes aquela que você já possui.

Andre Bogus

Mantenedor do Clippy, editor do TWiR, colaborador do Rust, usuário profissional do Rust

Estou positivamente surpreso aqui. Esperava que a proporção de projetos Rust puros fosse um pouco menor. Não estou surpreso com os números do JavaScript, pois as comunidades são muito próximas e se dão bem umas com as outras.

Florian Gilcher

Diretor administrativo da Ferrous Systems

Como o código do Rust interage com as outras partes?

53%

Interoperabilidade de linguagens

51%

API REST

24%

RPC

7%

Outros

Quais plug-ins/utilitários você utiliza no seu IDE para Rust?

45%
25%

Rust Analyzer

42%
47%

IntelliJ Rust

14%
17%

Sem suporte especial

10%
16%

RLS

3%
3%

Racer

1%
3%

Outros

9%
8%

Não sei

Enorme crescimento do rust-analyzer! Não é nenhuma surpresa, já que o projeto rust-analyzer recentemente tornou-se parte da organização Rust e o Rust Language Server (RLS) tornou-se obsoleto em favor do rust-analyzer. Pessoalmente, estou muito contente em saber que muitas pessoas usam IDEs avançados para o Rust e que há uma competição e colaboração saudáveis entre o IntelliJ Rust e o rust-analyzer!

Aleksey Kladov

Membro da equipe de ferramentas de desenvolvimento do Rust

O rust-analyzer fez grandes progressos, sendo agora a implementação oficial do LSP para Rust. O IntelliJ Rust também se manteve muito forte. Tendo trabalhado com ambos, ainda alterno entre eles de vez em quando. Duas obras-primas da engenharia. Parabéns!

Andre Bogus

Mantenedor do Clippy, editor do TWiR, colaborador do Rust, usuário profissional do Rust

Qual o principal IDE/editor que você usa para o desenvolvimento em Rust?

43%

VS Code (Visual Studio Code)

23%

CLion

15%

IntelliJ IDEA

7%

Vim

3%

Emacs

1%

PyCharm

1%

Sublime Text

1%

GoLand

1%

Neovim

1%

Visual Studio

4%

Outros

De quais recursos do Rust você mais sente falta nos IDEs?

32%

Depuração nativa

18%

Depuração do WebAssembly

16%

Suporte a frameworks Web

16%

Navegação entre linguagens e refatorações

14%

REPL

11%

Suporte ao desenvolvimento de tecnologias embarcadas

10%

Suporte a frameworks de banco de dados

9%

Suporte ao Docker

9%

Suporte ao desenvolvimento remoto

4%

Suporte ao AWS Lambda

5%

Outros

32%

Nenhuma opção

Como você geralmente depura seu código Rust?

55%

macros `println!` ou `dbg!`

27%

Depuração da Interface do Usuário em um IDE

11%

No console

5%

Não depuro

1%

Outros

Mais pessoas usam um depurador agora, provavelmente porque o suporte melhorou desde o ano passado. A macro dbg! ainda, sem nenhuma surpresa, ganha o prêmio, como uma maneira rápida e fácil de obter informações sobre o estado do tempo de execução. E não vamos nos esquecer de que, com o Rust sendo tão exigente, as aplicações muitas vezes sequer precisam de depuração, para começar.

Andre Bogus

Mantenedor do Clippy, editor do TWiR, colaborador do Rust, usuário profissional do Rust

Os depuradores estão mais chatos do que nunca. Eu mesmo uso o eprintln! (via pd snippet no meu IDE), mas sinto falta dos ótimos depuradores da minha época com o Kotlin.

Aleksey Kladov

Membro da equipe de ferramentas de desenvolvimento do Rust

Quais ferramentas de profiling você utiliza para o Rust?

82%

Não utilizo ferramentas de profiling

10%

perf

5%

callgrind/cachegrind

4%

gprof

3%

DTrace

2%

Outros

Isto é culpa da toolchain! Todas as ferramentas listadas aqui são incrivelmente complicadas de usar. Se você faz profiling em tempo integral (ou seja, é um engenheiro de performance num grande projeto ao estilo de Nicholas Nethercote), tem como investir tempo e esforços para aprender todos os sinalizadores de performance. Porém, se você não quiser gastar mais do que uma fração desse tempo fazendo uma investigação sobre a performance, a curva de aprendizagem é muito hostil. Eu gostaria que o Rust pegasse uma página do manual do Go, que tem pprof.StartCPUProfile como parte da toolchain. No entanto, isso vai exigir um grande esforço.

Aleksey Kladov

Membro da equipe de ferramentas de desenvolvimento do Rust

É incrível, mas também não surpreendente, que numa linguagem que muitas pessoas usam pela sua velocidade, a medição de desempenho não seja uma prática comum. Minha teoria é a de que ferramentas de desempenho são inacessíveis e diferem dependendo da plataforma.

Florian Gilcher

Diretor administrativo da Ferrous Systems

Que tipo de projeto você desenvolve em Rust?

46%

Ferramentas de CLI

37%

Programação de sistemas

34%

Desenvolvimento Web

16%

Programação de redes

15%

Aplicações de desktop/GUI

11%

Dispositivos com tecnologia embarcada/Internet das Coisas

10%

Jogos

7%

Acadêmico / Científico / Numérico

6%

Bancos de dados

6%

DevOps

6%

Blockchain

6%

Segurança

4%

Ciência de dados / Aprendizado de máquina / IA

3%

Finanças/comércio

6%

Outros

Ferramentas CLI provaram ser uma área de nicho em que o Rust brilha. No ano passado, quase metade dos desenvolvedores as estava desenvolvendo. O que também é interessante é que, embora as empresas de blockchain muitas vezes se vangloriem de usar o Rust, apenas 6% dos entrevistados realmente trabalham nesse espaço. Ou estamos diante de um caso de marketing e propaganda espalhafatosos, ou os poucos usuários do Rust que trabalham em blockchains são desenvolvedores muito eficazes. Ou talvez as duas coisas.

Andre Bogus

Mantenedor do Clippy, editor do TWiR, colaborador do Rust, usuário profissional do Rust

Considerando que a percepção pública do Rust é a de que existem muitos trabalhos Rust no setor de blockchain, estou bastante surpreso ao ver essa opção abaixo até mesmo de uso incorporado e acadêmico.

Florian Gilcher

Diretor administrativo da Ferrous Systems

Qual é plataforma alvo em seus projetos Rust?

77%

Linux

41%

Windows

36%

macOS

22%

WebAssembly

11%

Tecnologia embarcada

4%

Android

3%

iOS

2%

Outros

O Linux reina supremo, embora o Windows tenha feito progressos. Acho que isso pode ser devido ao investimento da Microsoft no Rust, combinado com o fato de que os usuários do Linux são frequentemente os primeiros a adotar e de que a crescente comunidade agora tem usuários mais conservadores, que tendem a usar o sistema operacional instalado com o PC.

Andre Bogus

Mantenedor do Clippy, editor do TWiR, colaborador do Rust, usuário profissional do Rust

Outra pequena surpresa para mim – eu teria colocado o WebAssembly em algum lugar próximo ao uso incorporado. Mais uma vez, isso mostra a importância das pesquisas de opinião.

Florian Gilcher

Diretor administrativo da Ferrous Systems

Obrigado pelo seu tempo!

Esperamos que você tenha achado nosso relatório útil. Compartilhe este relatório com seus amigos e colegas.

Se tiver dúvidas ou sugestões, entre em contato conosco em surveys@jetbrains.com.