開発者の強い味方Stack Overflowが毎年行っているアンケート、Stack Overflow 2020 Developer Surveの結果が少し前に公開されました。6万5千人と世界中のプログラマーを対象とした、最大規模の調査の結果です。
いろいろな情報がわかりますが、ここでは「愛されている・嫌われている・求められている順位」Most Loved, Dreaded, and Wantedという分類結果を並べた画像を作り、眺めて考えてみました。
1. プログラム言語(Most Loved, Dreaded, and Wanted Languages)
Rustが大人気ですね! たしかにC,C++に替わるネイティブコードが生成できる現代的なプログラム言語は求められていると思います。
現在、OS、言語処理系、RDBのような基本ソフトのほとんどはC,C++で書かれていますが、C,C++でバグのない大規模なソフトを書のは至難の業です(昔、C言語でCADを作っていましたが、まれに起きるセグメンテーションフォールト、メモリーリーク等で悩ませられました)。Rustのような現代的な型やメモリー管理をもつプログラム言語には期待がもたれます。
しかし、Rustで書く必要のあるソフトはそれ程多くないと私は思いますが、どうなんでしょうか?。 IoT分野では需要があるかな・・・
TypeScriptも人気ですね。私も使っているのでTypeScriptの良さをとても感じています。またdenoのようにTypeScriptを直接実行できる処理系も出ており今後も人気言語でしょうね。
そして一時期は人気だたった日本生まれのプログラム言語Rubyの人気が下がっています、嫌いな言語の順位もかなり高いです。人気がすべてではありませんがRubyコミュニティの人には頑張ってほしいです。
2. Webフレームワーク(Most Loved, Dreaded, and Wanted Web Frameworks)
サーバーサイドのフレームワークもフロントエンドのフレームワークも混ざっていて少し乱暴ですが、React/Vueなどが人気です。一時期は大人気だったRuby on Railsの順位は下がり、嫌いなフレームワークに成りつつあります。
昔のように、サーバーサイドでビュー(ブラウザーに表示される画面、HTML)を含むすべてを作る時代は終わったのかも知れません。ビューはReact, Vueなどクライアント(ブラウザー、JavaScript)で作り、サーバーサイドは情報を管理するAPIサーバーになりました。
そうなるとサーバーサイドは高機能なRuby on Railsのようなものでなくても良くなりました、さらにGraphQLのようなAPIの規格・実装が現れこの流れを加速していると思います。
嫌いなフレームワーク上位には、時代遅れになってしまったjQueryやAngularがあります。しかし、まだまだ需要はあるようですね。
3. プラットフォーム(Most Loved, Dreaded, and Wanted Platforms)
プラットフォーム(開発環境、実行環境)ではDockerの人気が高いですね。Linuxが人気なのもDocker人気からでしょうか? Dockerが開発者のプラットフォームとして確立しているようですね(Kubernetesも人気ですが本当でしょうか?)。
AWS等のクラウドも人気ですね。しかしIBMやHerokuなどは不人気ですね、なぜでしょうかね?
また、WordPressやSlack統合なども嫌われていますね。手軽に使えるのでみんなが手をだしたのですが、いろいろな問題が発生し疲れて来たのでしょうか。
今日のまとめ
2010年代初期はMacにRuby on Rails・その他をインストールしてWebアプリケーションを開発していました。 しかし現在は、React/Vue + APIサーバーというアーキテクチャへの進化し、開発環境(実行環境)もDockerへとかわってきたのが良く判るサーベイの結果でした。