URUOSHI管理人の、SUMMY(@URUOSHI)です。
この悩みを解決します。
昨年位からエンジニア界隈で話題になっている、「Rust」というプログラミング言語って一体どういうものなの?
エンジニアは新しい物に敏感ですから気になりますよね。
本記事では「Rust」が、一体どんなプログラミング言語なのかを深堀していきます。
この記事で分かる事
- Rustとは
- Rustの人気や将来性
- Rustは転職に強いか
- Rustエンジニアの年収や業種は?
目次
Rustとは
「Rust」というプログラミング言語が、結構な勢いで人気が出てきているようです。
Rustは日本での知名度はまだ低いプログラミング言語だと思いますが、海外では非常に重要なプログラミング言語として注目されています。
なぜ注目を集めているのでしょうか?そんなに美味しいプログラミング言語なのか?
特徴を見て行きましょう。
RustはCno代替言語
Rustの最大の特徴は、C言語の代替を目指したプログラミング言語であるというところではないでしょうか。
C言語とその拡張言語であるC++は速度、並行性、安全性が仕様の要になっていて、その理念を継承するC系言語が今も変わらず大きな勢力を築いています。
登場してから四半世紀以上経ち、仕様が古くなっているのは否めません。
そこでRustはC言語同様に「速度、並行性、安全性」を三本柱としつつ、より現代的なプログラミング言語を目指して開発されたんですね。
そして、「速度、並行性、安全性」いずれの面でも、すでにC言語を圧倒していると評価されています。
Rustは複数のパラダイムに対応する言語
パラダイムって言葉ですが、「プログラミングパラダイム」を敢えて日本語的に説明すると、「プログラミングの解釈パターン」のことです。
「パラダイムシフト」っていう言葉はよく聞いたりしますよね♪
例えば、「オブジェクト指向」というパラダイムが与えられると、そのプログラムはオブジェクト指向の解釈パターンで解釈されてコンピューターは実行します。
また、「手続き型プログラミング」というパラダイムが適用されれば、手続き型プログラミングとして解釈されます。
なお、Rustはオブジェクト指向プログラミングにも対応していて、「関数型プログラミング」、「手続き型プログラミング」などにも対応しています。
ちなみに、Rustのような複数のパラダイムに対応しているプログラミング言語のことを、マルチパラダイム言語と呼びます。
現在、Rustの開発はWebブラウザーの「Firefox」やメーラーソフトの「Thunderbird」で有名なMozillaが関わっており、早いテンポでリリースアップされています。
Rustの弱点
世代プログラミング言語として大注目のRustにも、一つ大きな弱点があります。
それはずばり、学習難易度が高いということです。
つまり、簡単には習得できない、という点です。
開発チーム自身も学習難易度の高さを認めているくらい難易度が高いようです。
Rustの人気や将来性は?
2019年1月から3月の統計で14位にエントリーされたRustは、2018年1月から3月の統計でも14位でした。
主要プログラミング言語の一つとして、成功しているといったところでしょうか。
ただ気になるのは、Rustの直接的なライバル言語であるGo(Go言語・Golang)の動きです。
GoはGoogleが開発したプログラミング言語です。
どちらも、C言語の代替を目指したプログラミング言語、という点では同じですがフォーカスした部分が異なります。
Rustは上でご紹介した通り、「速度、並行性、安全性」に重点を置いているのに対して、Goは「扱いやすく、生産性が高い」という点に注力しています。
極端に言えば、GoはGoogleに入ったばかりの新入社員でも、Googleの大規模サービス開発に携われるプログラミング言語を目指しているというところです。
結果、Rustは学習難易度の高さで知られるのに対して、Goは学習難易度が低い言語と認識されています。
さらに、GoはGoogleの開発したプログラミング言語なので、androidアプリの開発など、各種Googleのサービスとの親和性も高いというメリットがあります。
結果、2019年1月から3月の統計でGoは第4位と、Rustに大きな差をつけています。
GoもRustも扱えるプログラミングに強い人は、「GoとRustはそもそも得意とするフィールドが異なるので、GoかRustかという議論自体がナンセンス!」とのことですが、今後利用率がどう変化していくのか、気になるところです。
Rustは転職に強いのか
「期待の次世代プログラミング言語で、エンジニアたちに愛されていれば転職市場でも強いんでしょう?」と思われた方も多いと思います。
しかし日本国内の転職市場では、まったく強くありません・・・。
ぶっちゃけてしまうと、Rustは弱小プログラミング言語です。
理由は簡単で、日本国内での利用率は非常に低い、もっといえばほぼ皆無同然だからです。
多くの企業が、現在でもC言語やC++などを利用している状況です。
Rustの利用率が低い理由は、企業はどうしても傾向的に保守的になりがちなので、「すでに実績のあるC言語やC++を捨てて、海外で流行っているRustに乗り換えよう!」とは、なかなかならないというのもあります。
しかし、それ以上に学習難易度が高いということもあり、人材が育っていない、揃えられないという事情が大きいと思います。
一部の先進的なIT企業、ベンチャー企業でもRustの求人というのは非常に少ないです。
一方で、ライバル言語のGoは日本国内でもベンチャー企業を中心に人材募集が普通に行われています。
この先、日本国内にRustのブームが来ないまま、Goが次世代プログラミング言語として広く利用される可能性も十分あるかと思います。
Rustエンジニアが活躍できる業種
現状、Rustの求人が皆無に近いので、活躍できる業種・年収はあくまで推測ベースになりますが、汎用プログラミング言語であるC言語の後継言語であることを考えれば、非常に活躍できるエリアは広いんじゃないかと思います。
なお、C言語が昨今多く使われている領域としては、一つは組み込み系、そしてもう一つは人工知能(AI)開発です。
組み込み系システムは、IT企業のみならず、メーカーなどの製造業からもニーズがある領域です。
また、人工知能は産業革命を引き起こす存在とみなされ、ITや製造業も含めてありとあらゆる業界・企業が注目しています。
Rustエンジニアの年収
ではRustエンジニアの年収はどんな感じなんでしょうか?
学習難易度が高いため、数少ないエンジニアを巡る争奪戦の中で、高年収での引き合いが多くなることは間違いでしょう。
さらに言えば、人工知能は高付加価値システムなので、関わるエンジニアの年収も高くなる傾向があります。
もし、Rustで人工知能開発が一般的になれば、確実に「Rustエンジニア=高年収エンジニア」という図式が成り立ちますね。
【まとめ】Rustの将来性は未知…
Rustは昨今、大注目の次世代プログラミング言語の一つではあるのですが、残念な事に日本国内ではまったくと言っていいほど求人がありません。
今後、日本国内でも人材募集が増える可能性はありますが、ライバルであるGoの動向もあり、「絶対にRustが来る!」とは言いにくい状況です。
すでに、C系言語を習得している方が、挑戦としてRustを身に着けるのは良い事かも知れません。
しかし、学習難易度が高いのが欠点なので、プログラミング未経験の方がRustを「はじめてのプログラミング言語」にするのは正直おすすめしません。
PythonやJavaなどを学習した方が、確実に仕事に繋がるし現実的です!
それでは最後までお読み頂きありがとうございました♪
本記事は以上です。
合わせて読みたい
未経験エンジニアが不安になる必要なし!異業種から転職したい方向け
プログラマーとシステムエンジニアの違いは?仕事内容や年収について解説
今人気のプログラミング言語Python!初心者でも安心のスクール選び。