Stack Overflow 7年連続エンジニアに愛されているプログラミング言語、Rustの軌跡
はじめに
私は、「Rustで仕事をして、事業を成功させたい」という目標に向かって、毎日勉強に励んでいます。
Rustとの出会いは、前職の業務でRustを使うことになったことがきっかけでした。
業務で週に1〜2日、Rustでの開発をしていましたが、約半年程度でプロジェクトが解散となり、実務でRustに取り組むことが出来なくなりました。
前職を辞めて約半年間、ハーバード大学のコンピュータ・サイエンス講座CS50の修了、Rustによるチャットアプリの個人開発をしつつも、「なぜRustで仕事をしたいのか?」という視点に立ち戻りました。
私がRustに魅力を感じているのは以下の6点です。
①Rustが注目されている風潮があり、今後仕事が増えそう
②Rustコンパイラによるコンパイルエラーメッセージの丁寧さ
③メモリ安全性
-> CS50でC言語を扱ったが、メモリ解放漏れや二重開放でのエラーに困惑した。また、JavascriptやPHPではガベージコレクションが自動で不要なメモリをかき集めてくれたが、Rustは所有権という考え方でメモリの安全性を実現してくれていることに魅力を感じた。
④実行速度が速いと言われている
⑤静的型付けが必要であるため安全
⑥曖昧なコードでは動かないという強固な印象から、徹底的に学びたい私はRustへの好奇心を駆り立てられている
以上です。
「①Rustが注目されている風潮があり、今後仕事が増えそう」に関してもう少し具体的に捉えたいという気持ちから、Stack Overflowの調査結果の深堀りを行いました。
私の「Rustで仕事をして、事業を成功させたい」という目標が確かなものになる結果だったので、調査内容を公開します。
Stack Overflowによる開発調査結果
プログラミング技術に関するナレッジコミュニティのStack Overflowが開発者を対象に様々な項目で調査する「Stack Overflow Developer Survey」。
この調査はプログラミング開発の現状を知る方法として、注目度が高いです。
2022年は180カ国にいる7万3000人以上の開発者を対象に行われています。
調査内容のうち、「Most Loved、最も愛されている言語」に関して、7年連続Rustが1位でした。
これだけ聞くと、「Rustってすごい!」と感じるのですが、「最も愛されている言語」のランキングに使用されている割合は、開発者がある言語を好ましいと思っているかどうかを測る指標で、「過去1年間に使用した言語」について来年もその言語を使用したいと答えた人の割合です。
Rustを好ましいと思っている開発者の割合は高いものの、最も使用されている言語ランキングでは母数71,547名のうちRustを選んだ人の割合は9.32%にすぎませんでした。
Rustが最も愛されている言語であるのに対し、実際に使われている言語ランキングでは上位3位から大きく外れていたので、「本当にRustでの仕事が今後増えていくのか?」という視点で、過去8年間のRustに関する各指標を追っていきます。
確認する指標は以下2つです。
- 最も愛されている言語ランキング(Loved)
- 最も使用されている言語ランキング(Popular)
- 使用していないが学びたい言語ランキング(Want)
記事の下部に、おそらく一番気になるであろう以下3項目も記載しています。
「分析結果一覧」
「分析からわかること」
「分析からの仮説」
2022年度
-
最も愛されている言語 1位(母数: 71,467名)
資料: Stack Overflow -
最も使用されている言語 14位(母数: 71,547名)
- 実際に使用している人数: 6,668名(= 71,547 * 0.0932)
資料: Stack Overflow
- 実際に使用している人数: 6,668名(= 71,547 * 0.0932)
-
使用していないが学びたい言語ランキング 1位(母数: 71,467名)
2021年度
-
最も愛されている言語 1位(母数: 82,914名)
資料: Stack Overflow -
最も使用されている言語 16位(母数: 83,052名)
- 実際に使用している人数: 6,062名(= 83,052 * 0.073)
資料: Stack Overflow
- 実際に使用している人数: 6,062名(= 83,052 * 0.073)
-
使用していないが学びたい言語ランキング 5位(母数: 82,914名)
資料: Stack Overflow
2020年度
-
最も愛されている言語 1位
資料: Stack Overflow -
最も使用されている言語 19位(母数: 57,378名)
- 実際に使用している人数: 2,926名(= 57,378 * 0.051)
資料: Stack Overflow
- 実際に使用している人数: 2,926名(= 57,378 * 0.051)
-
使用していないが学びたい言語ランキング 5位
資料: Stack Overflow
2019年度
-
最も愛されている言語 1位
資料: Stack Overflow -
最も使用されている言語 21位(母数:87,354名)
- 実際に使用している人数: 2,795名(= 87,354 * 0.032)
資料: Stack Overflow
- 実際に使用している人数: 2,795名(= 87,354 * 0.032)
-
使用していないが学びたい言語ランキング 6位
資料: Stack Overflow
2018年度
-
最も愛されている言語 1位
資料: Stack Overflow -
最も使用されている言語 公表上位25位ランクインせず(母数: 78,334名)
資料: Stack Overflow -
使用していないが学びたい言語ランキング 8位
資料: Stack Overflow
2017年度
-
最も愛されている言語 1位
資料: Stack Overflow -
最も使用されている言語 公表上位25位ランクインせず(母数: 36,625名)
資料: Stack Overflow -
使用していないが学びたい言語ランキング 10位
資料: [Stack Overflow](https://insights.stackoverflow.com/survey/2017#technology-most-loved-dread
2016年度
-
最も愛されている言語 1位
資料: Stack Overflow -
最も使用されている言語 公表上位12位ランクインせず(母数: 49,397名)
資料: Stack Overflow -
使用していないが学びたい言語ランキング 公表上位11位ランクインせず
資料: Stack Overflow
2015年度
-
最も愛されている言語 3位
資料: Stack Overflow -
最も使用されている言語 公表上位12位ランクインせず(母数: 21,982名)
資料: Stack Overflow -
使用していないが学びたい言語ランキング 公表上位10位ランクインせず
資料: Stack Overflow
分析結果一覧
分析からわかること
最も愛されている言語に関して(表A,B)
- 使用者のうち、「来年もその言語を使用したい」と答えた人の割合(表A)が過去7年間トップ。
- 2016年にRustは1位になり、それから過半数の割合を締めている
- 初ランクイン2016年と比較して本年度2022年では最も愛されている言語ランキングの割合で+7.63pt上昇している(表B)
最も使用されている言語に関して(表C,D)
- 最も使用されている言語ランキング(表C)では、2019年からランクインし、初年度2019年と比較して本年度2022年では最も使用されている言語ランキング割合で+6.12pt上昇している(表D)
- 徐々ではあるが順調に毎年使用者数を伸ばしてきている。
使用されていないが学びたい言語に関して(表F,G)
- 「気になっている言語」として、Rustは2022年堂々の1位
- 初ランクイン2017年は10位だったが、2020年には上位5位にランクインしている
分析からの仮説
-
最も愛されている言語で7年連続も1位に選ばれているのは、「開発者の満足度の高さ」が現れているのではないか
-
「使用されていないが学びたい言語」で1位に選ばれたのは、「Rustが気になっている」という人の多さの表れであり、今後Rustを使いだす人が増えるのではないか
-
最も使用されている言語で初年度ランクインから割合が+6.12pt向上しており、かつ愛されている言語1位、更に「気になっている」言語ランキングでも1位ということは、今後Rust熱が更に加速していくのではないか
まとめ
上記の仮説から、
過去7年間ずっと「最も愛されている言語」 = 「開発者の満足度の高さ」に繋がるのではないかと考えます。
満足度の高い言語に興味を持っている人は恐らく一定数いると考えられ、Twitterやエンジニア同士の会話でもよく「Rust使ってみたい」という声を聞きます。
実際に、2022年度「使用されていないが学びたい言語」ではRustが堂々の1位を飾りました。
更に最も使用されている言語の割合も徐々に増えてきているので、Rustへの関心は更に高まっていくのではないかと考えられます。
上記の分析結果と仮説から、私がぼんやりと感じていた「①Rustが注目されている風潮があり、今後仕事が増えそう」という考えは確信に変わりました。
加えて、私が感じているRustの魅力から、「Rustで仕事をして、事業を成功させたい」という自身の目標を後押しされました。
Rustは学習コストが高く感じますが、それ以上に魅力が勝っているので、これからも勉強を続けていきます。
この分析結果と仮説が何かの気付きになれば幸いです。
Discussion