Rust

共有:

このセクションの質問は、Rust を使用言語の 1つとして示した開発者に提示されました。

Rust をどのように使用していますか? 

67%

個人用途 / サイドプロジェクト

61%

趣味

18%

仕事

1%

その他

Rust は成長していますが、ここでは相対的な数が変化していないことに気付きました。これは良いことです!これは、Rust 愛好家の数が増加しており、かなりの割合でプロに転向できることを意味しています。雇用主の方へのアドバイスですが、「X 年間の Rust の業務経験」を持つ人材以外にも目を向けると、転職を希望している人材がたくさん見つかると思います。

Florian Gilcher

Ferrous Systems 取締役

小話風に言えば、Rust は数年前に「奇妙な新しい言語」から「本番環境に導入しても非常識ではない言語」に生まれ変わりました。そのため、このような伸びは期待どおりであり、非常に喜ばしいことです。

Aleksey Kladov

Rust 開発ツールチームのメンバー

Rust をどのくらいの期間使用していますか?

22%

1 か月未満

36%

1〜6 か月

18%

6 か月〜1 年

19%

1〜3 年

5%

3 年以上

Rust は若い言語であるため、経験年数の長い人材を見つけるのは困難です。そのため、Rust を採用するマネージャーはチームのトレーニングやその他の形式の教育やサポートに予算を割り当てる必要があります。また、数十年のプログラミング経験を持つ人なら、支援さえあればすぐに新しいプログラミング言語を習得できると考えてください。

Florian Gilcher

Ferrous Systems 取締役

過去に Rust を使用した経験がある人は、概して今でも Rust を使用しています。新参者の相対的な割合はほぼ一定しており、かなり自律的に成長しています。上級 Rustacean の割合が増加しているため、そのような人材を求めている雇用主にとっては朗報と言えます。

Andre Bogus

Clippy 保守担当、TWiR エディター、Rust 貢献者、プロ Rustacean

どのプログラミング言語を Rust と共にプロジェクトで使用していますか?

22%

JavaScript / TypeScript

15%

Python

12%

C++

12%

Go

11%

C

6%

Java

3%

C#

2%

PHP

1%

Elixir

1%

Ruby

3%

その他

49%

なし

回答者の約半数は Rust と共に別の言語を使用している多言語プログラマーです。この割合は現在の人気をほぼ反映しているようです。よく言われるように、完璧なツールはすでに手元にあることが多いものです。

Andre Bogus

Clippy 保守担当、TWiR エディター、Rust 貢献者、プロ Rustacean

この結果に嬉しい驚きを感じています。純粋な Rust プロジェクトの割合はもう少し低いと予想していたためです。JavaScript の数字には驚いていません。なぜなら、ユーザー同士の関係が非常に緊密かつ良好だからです。

Florian Gilcher

Ferrous Systems 取締役

Rust コードは他の要素とどのように連携していますか?

53%

言語の相互運用

51%

REST API

24%

RPC

7%

その他

Rust 用 IDE ではどのプラグイン / ユーティリティを使用していますか?

45%
25%

Rust Analyzer

42%
47%

IntelliJ Rust

14%
17%

特になし

10%
16%

RLS

3%
3%

Racer

1%
3%

その他

9%
8%

分からない

rust-analyzer が大きく伸びています!rust-analyzer プロジェクトが最近より広範な Rust 組織に組み入れられたことや、Rust Language Server(RLS)が rust-analyzer に置き換わって廃止された ことを考えれば驚くことではありません。個人的には多くの人が Rust 用の高度な IDE を使用していることや、IntelliJ Rust と rust-analyzer の間に健全な競争とコラボレーションがあることを非常に嬉しく思っています!

Aleksey Kladov

Rust 開発ツールチームのメンバー

rust-analyzer は大きく前進し、Rust の公式 LSP 実装になりました。IntelliJ Rust も依然として非常に強力です。私は両方とも使用したことがあり、今でも時々この 2 つを切り替えて使っています。エンジニアリングによる 2 つのたまものです。称賛に値します!

Andre Bogus

Clippy 保守担当、TWiR エディター、Rust 貢献者、プロ Rustacean

Rust 開発にはどの IDE またはエディターを最もよく使用していますか?  

43%

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%

その他

IDE に最も不足している Rust の機能は何ですか?

32%

ネイティブのデバッグ

18%

WebAssembly のデバッグ

16%

ウェブフレームワークのサポート

16%

言語横断的なナビゲーションとリファクタリング

14%

REPL

11%

組み込み開発のサポート

10%

データベースフレームワークのサポート

9%

Docker のサポート

9%

リモート開発のサポート

4%

AWS Lambda のサポート

5%

その他

32%

なし

通常、Rust コードをどのようにデバッグしていますか?

55%

`println!` または `dbg!` マクロを使用

27%

IDE での UI デバッグ

11%

コンソールでのデバッグ

5%

デバッグしていない

1%

その他

デバッガーを使用する人が増加したのは、昨年からサポートが強化されたためだと思われます。dbg! マクロは実行時の状態を手軽に把握できますので、一番でもあっても驚くことはありません。また、Rust はエラーを事細かくチェックする言語ですので、そもそもアプリケーションをデバッグする必要がほとんどないことも忘れてはなりません。

Andre Bogus

Clippy 保守担当、TWiR エディター、Rust 貢献者、プロ Rustacean

デバッガーは相変わらず使いにくいです。私自身は eprintln! を(IDE の pd スニペット経由で)使用していますが、Kotlin を使っていた頃の優れたデバッガーが恋しいですね。

Aleksey Kladov

Rust 開発ツールチームのメンバー

Rust 用にどんなプロファイリングツールを使用していますか?

82%

プロファイリングツールは使用していない

10%

perf

5%

callgrind/cachegrind

4%

gprof

3%

DTrace

2%

その他

これは間違いなくツールチェーンのせいでしょう!ここに挙げられているツールはどれも非常に使いにくいものばかりです。フルタイムでプロファイリングに従事している方なら(つまり、nnethercote のような大規模プロジェクトのパフォーマンスエンジニアなら)すべてのパフォーマンスフラグを学習するのに時間と労力をかけられますが、パフォーマンスの調査にほんの少しの時間しか使えない方にとってはかなり学習のハードルが高くなります。私は Rust がツールチェーンの一部に pprof.StartCPUProfile が含まれている Go を手本にすることを期待しています。ただし、それには多大な労力が必要になりますが。

Aleksey Kladov

Rust 開発ツールチームのメンバー

多くの人が速度を求めて使用している言語でパフォーマンス測定が一般的に行われていないのには驚きです(が、やはり驚くことでもありません)。これはパフォーマンスツールが入手困難で、プラットフォームによって異なっているからだと私は考えています。

Florian Gilcher

Ferrous Systems 取締役

Rust でどんな種類のプロジェクトを開発していますか?

46%

CLI ツール

37%

システムプログラミング

34%

ウェブ開発

16%

ネットワークプログラミング

15%

デスクトップ / GUI アプリケーション

11%

組み込みデバイス / IoT

10%

ゲーム

7%

学術 / 科学 / 数値計算

6%

データベース

6%

DevOps

6%

ブロックチェーン

6%

セキュリティ

4%

データサイエンス / 機械学習 / AI

3%

財務 / 商取引

6%

その他

CLI ツールは Rust が輝けるニッチ分野であることが判明しました。昨年は CLI ツールを開発している開発者は約半数でした。ブロックチェーン企業がよく Rust を使用していると得意げに自慢しているのに対し、実際にその分野で活動している回答者が 6% しかいないことも興味深いところです。これは大規模な誇大広告とマーケティングが問題であるか、ブロックチェーンを扱う少数の Rustacean が非常に有能な開発者であるかのどちらかでしょう。あるいはその両方が反映されていると思われます。

Andre Bogus

Clippy 保守担当、TWiR エディター、Rust 貢献者、プロ Rustacean

Rust はブロックチェーン業界に関連業務が山ほどあると世間的に認識されているにもかかわらず、ブロックチェーンという回答が組み込みや学術的な利用よりも下にあることにとても驚いています。

Florian Gilcher

Ferrous Systems 取締役

Rust プロジェクトではどんなプラットフォームをターゲットにしていますか?

77%

Linux

41%

Windows

36%

macOS

22%

WebAssembly

11%

組み込み

4%

Android

3%

iOS

2%

その他

Linux のシェアが最も多くなっていますが、Windows のシェアも伸びています。これは Microsoft が Rust に投資していること、Linux ユーザーが得てして新しもの好きであること、成長中のコミュニティでは PC に付属の OS を使用する傾向のある保守的なユーザーが増えているという事実のすべてが反映されていると思われます。

Andre Bogus

Clippy 保守担当、TWiR エディター、Rust 貢献者、プロ Rustacean

WebAssembly と組み込み利用の順位が近いことにも少し驚きました。やはり、調査がどれほど重要なのかが分かりますね。

Florian Gilcher

Ferrous Systems 取締役

最後までご覧いただきありがとうございました!

レポートはお役に立ちましたか?
ぜひこのレポートを友人や同僚と共有してください。

ご質問やご提案がございましたら、surveys@jetbrains.comまでお問合わせください。