株式会社サポーターズ エバンジェリスト 久松 剛氏

新卒プログラミング言語人気ランキングに見るトレンド傾向

はじめに

先立ってサポーターズに登録のある学生402名に対するアンケート調査を実施しました。サポーターズに登録のある方々は新卒就活生の中でも上位10%と言われています。彼らの志向性を知ることで技術選定時の将来的な優位性を獲得できる可能性があります。今回はプログラミング言語の人気ランキングについて、その傾向や背景についてお話していきます。

  サポーターズ、トップエンジニア学生「最新トレンド調査2022」を発表! 株式会社サポーターズのプレスリリース(2022年12月15日 14時00分)サポーターズ、トップエンジニア学生「最新トレンド調査2022」を発表! プレスリリース・ニュースリリース配信シェアNo.1|PR TIMES


目次[非表示]

  1. 1.はじめに
  2. 2.普段使っている or 好きな言語
  3. 3.これから挑戦してみたい言語
  4. 4.なぜRustは人気なのか?
  5. 5.エンジニア採用とプログラミング言語選定


普段使っている or 好きな言語

普段もっとも使っているor好きなプログラミング言語

普段使っている or 好きな言語としては1位がPython、2位がJavaScriptという結果となりました。近年の情報系学校ではデータ分析をカリキュラムに組み込んでいるため、学習機会が大きい傾向にあります。データエンジニアリング、そしてそれにシームレスに繋がるAI、機械学習領域は研究費も獲得しやすい傾向にあることから、ゼミや研究室でも使われる傾向にあります。また、データエンジニアやデータサイエンティストを育成するための大手企業による寄附講座などもあり、講師、カリキュラム、データセットが同時に提供されています。

JavaScriptは10年以上に渡って大学のプログラミング基礎になっている傾向があります。かつてはC、C++、Javaといったコンパイル言語が中心でした。しかし多少エラーがあっても動き、視覚的に動きがあり、成功体験を積みやすいことからJavaScriptへと推移していきました。


これから挑戦してみたい言語

これから挑戦してみたいプログラミング言語

これから挑戦したい言語ランキングとしては上記のようになりました。

GoについてはWeb系自社サービス企業の導入が一般化しています。PHPやRubyなどで構成されたシステムから、マイクロサービス化を兼ねたサーバサイドのリプレイスが行われている傾向にあります。

JavaについてはSIerなどでの利用が多くあります。業務システムで用いられるため需要が手堅いです。特にコロナ禍の政情不安や、2022年後半から世界を見舞っている不景気に関連し、安定した職を求める傾向にあり、大手SIerを志望する学生が増加傾向にあります。

JavaScriptについては既に大学の基礎授業で学んでいる方が多いため、4位になっていると考えられます。

KotlinについてはAndroidアプリの開発だけでなく、Javaの代わりにサーバサイドの実装に使われている事例が増えています。


なぜRustは人気なのか?

ランキングにおいて第二位につけているRustの人気が目に留まります。人材紹介会社やフリーランスエージェントの言語別ランキングではあまりランキングしないものです。ただしStack Overflow Developer Survey 2022の好きな言語ランキングではRustは1位を獲得しています。

Most loved, dreaded, and wanted Programming, scripting, and markup languages

  Stack Overflow Developer Survey 2022 In May 2022 over 70,000 developers told us how they learn and level up, which tools they’re using, and what they want. Stack Overflow

Rust人気の背景について、Rustを商用プロダクトに採用しているエンジニアにヒアリングをしてみました。
他の言語と比べた際、ソフトウェアエンジニアがRustを書くと下記のような文法上の利点に気づくとのことです。

  • 値の有無を表すOption型、成功失敗を表すResult型が標準で用意されている
  • Enumの各バリアントが別の型をパラメータとして持つことができる
  • Traitを使って型のインターフェイスを統一することがやりやすい
  • また、下記のような特徴もあります。
  • 環境構築が簡単
  • 処理が高速
  • 多くの言語がGCで解決している部分を所有権の概念で管理
  • 様々な言語からいいところ取りをした文法
  • 親切なコンパイラのエラーメッセージ

これから挑戦してみたい言語1位であるGoとの比較について、処理速度に注目して比較したサイトが下記となります。

  Rust vs Go - Which programs are fastest? (Benchmarks Game) Rust Go - Which programs have fastest performance? https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust-go.html

また、この方によると「Goは並列処理が簡単に書ける良さがある一方で、Rustの方がプログラマがコントロールできる領域が広いということで価値を見出す人が多いのではないか」とのことです。「Cより書きやすく、C++より安全に書けつつ速度が同等でユーザーがある程度居る唯一の言語がRustなのではないか」とのことです。

加えてIoTでもRustが使われる傾向にあります。この点については「メモリを自身でコントロールしたいというニーズに答えやすい。コミュニティとしても2018年時点で組み込み領域に力を入れていくという意思決定をしていました」とのことでした。

日本語でのコミュニティも充実しているとのことで、こちらもRustが人気になっている背景としてあると考えられます。

  Home Rust(プログラミング言語)の日本語情報、和訳文書、日本語コミュニティ紹介 rust-jp.rs


  Rust (English description follows) 日本で Rust を利用している、もしくは興味を持っている人々のためのコミュニティです。主に以下のミートアップを主催しています。 * 入門者向けハンズオン * 初心者向け LT 大会 ## Zulipグループ https://t.co/1i41SLzhlc ## Slackグループ * 登録済の人 -> https://rust-jp.slack.com * 未登録の人 -> https://rust-jp.herokuapp.com/ # Rust Japan community A commu... connpass


エンジニア採用とプログラミング言語選定

将来を予測しながら人の集まりやすいプログラミング言語選定をしておくというのは重要な観点です。Javaについては業務システムを中心に殿堂入りした感がありますが、それ以外の領域については入れ替わりが発生しています。例えば定期的に話題になるプログラミング言語別年収ランキングですが、上位の言語の中には「扱える人材が採用市場に居ないため上昇している」ものが存在しています。企業体力がなければそういった言語の選択は避けるべきでしょう。

また、既に社内にいるエンジニアの学習コストも考慮しなければなりません。過去にPHPエンジニアが集まって居た組織で、使用言語をJavaにしたことがあります。コンパイルとは?というところから学習をしたり、ソケット通信についての理解をしてもらう必要があったことから、なかなか大変なプロジェクトとなりました。

新規事業について新しいプログラミング言語を選定するケースもよく耳にします。社内に当該プログラミング言語のノウハウを貯めることからしなければならない障壁に苦しむケースもよく見かけます。無事にローンチしたとしても既存事業と新規事業で差ができてしまい、基幹事業である既存事業の社内に対する訴求が弱まってしまうケースも見られます。

このような事象も踏まえながら、プログラミング言語選定をしていくことをお勧めします。

久松 剛
久松 剛
合同会社エンジニアリングマネージメント社長兼「レンタルEM」。 株式会社サポーターズ エバンジェリスト。

CONTACT

ご相談

お客様のエンジニア採用における課題解決をサポートします。採用人数やご予算に応じたご提案をいたしますので、お気軽にご相談ください。

DOWNLOAD

資料請求

サポーターズのサービス資料をダウンロードいただけます。
新卒エンジニア採用のサービスをご検討の方はぜひご一読ください。