1分で分かる!Rustとは?
ジャバード先生こんにちは!
ことりん君こんにちは!
ねぇねぇ、ジャバード先生。ジャバード先生は何が一番大事なの?
いきなりどうしたの?
なんとなくね。ボクはやっぱり「愛」だとおもうんだよね。
まさか、今日のテーマは「愛」について?
サン=テグジュペリはさ、「愛はお互いを見つめ合うことではなく、ともに同じ方向を見つめることである。」って言ってるんだよね。
そういえば、ことりん君。最もエンジニアから愛されているプログラミング言語って何か興味がない?
ジャバード先生、いま無理やり話題を変えたよね?まぁボクは愛に満ちてるから許してあげるけどね。
それでね、エンジニア向けのQ&Aサイトとして有名なStack Overflowは毎年いろんな調査をしているんだけど、その1つとして最もエンジニアに愛されているプログラミング言語についてアンケートをとっているんだ。
そうなんだ!それで1位は何だったの?JavaScriptとかPythonあたりかな?
実はね、Rust (ラスト)っていうプログラミング言語だったんだよ!
Rust?ちょっと聞いたことないかも…。
確かにJavaScriptとかPythonと比べると、まだまだマイナーなプログラミング言語といっていいかもしれないね。でも、Rustはすでにいろんな企業が利用をはじめているんだ。いま注目のプログラミング言語といっても過言ではないんだよ。
そうなんだ!かなり将来性がありそうなプログラミング言語だね!もう少し詳しくRustのこと教えて!
Rustの主な特徴は3つあるんだ。その3つとは「パフォーマンス」「信頼性」「生産性」だよ!
「パフォーマンス」と「信頼性」と「生産性」か…。
パフォーマンスっていうのは、処理の速さのことだね。Rustはメモリを効率よく使用できるような仕組みになっているから、高速に処理する必要があるアプリケーションにぴったりなんだ。
なるほどなるほど。じゃあ信頼性は??
信頼性っていうのはエラーやバグに強く、アプリケーションが正常に動くかどうかというものだよ。Rustは、プログラミングで問題を引き起こしがちな「メモリ」や「スレッド」が安全に動くようにつくられているんだ。
ふむふむ。安全に動くアプリケーションか。じゃあ最後の生産性は?
Rustはドキュメントやツールなどが優れていて、エンジニアが楽にアプリケーションをつくるためのものが整っているんだよ。
アプリケーションを開発するのって大変そうだもんね。
そうそう。それにRustは、GoogleやMicrosoftをはじめ、いろんな企業が既に使い始めているんだ。これまではOSとかWebブラウザの多くはC言語やC++で開発されることが多かったんだけど、今後はこのRustがスタンダードになっていくかもしれないくらい、注目のプログラミング言語なんだよ。
それはかなり期待できそうだね!Rustが愛される理由がわかったような気がするよ!ジャバード先生ありがとう!愛してる!
う、うん!
Rustとは?採用に役立つRustの基礎知識
Rustとは、2010年に登場したプログラミング言語です。はじめは、Mozillaという企業のエンジニアが個人的に開発していましたが、その後はMozillaが企業として開発をサポートするようになりました。現在では、Rust Foundationという団体が、Rustの開発を強力にサポートしています。
特筆すべきはRust Foundationに属している企業です。この団体には、AWS、Google、ファーウェイ、マイクロソフト、Mozilla Foundationに加え、2021年5月にはFacebookも参画を発表しています。
様々なプログラミング言語がありますが、現在非常に注目を集めているプログラミング言語といえるでしょう。
Rustを使うエンジニア
Rustは、デバイスを管理するためのソフトウェアであるシステムソフトウェアをプログラミングするために開発されました。そのため、OSの開発などに向いています。また、大規模なアプリケーションを開発するために採用されることもあります。
そのため、Rustを使うエンジニアは、上記を開発するエンジニアや組み込みエンジニアなどが挙げられます。
Rustを使うエンジニアの特徴と在籍業界
現在、日本でRustをメインで使用しているエンジニアはかなり少ないです。そのため、Rustを使うエンジニアの特徴としては、最先端のものが好きという傾向があります。
なお、Rustエンジニアが在籍している業界としては広く、OS、ブラウザをはじめゲームエンジンなどを開発している企業などが挙げられます。
採用する時に知っておくとよいこと
Rustの学習コスト
Rustは学習コストが高く、初心者にはなかなか難しいプログラミング言語といわれています。その理由は、マルチパラダイム言語といって様々な考え方を取り入れた言語であること、そして他のプログラミングではあまり考える必要がないメモリの「所有権」という仕組みを理解する必要があることなどが挙げられます。
一部企業ではRustを採用する動きもありますが、業界的にRustができるエンジニアはまだまだ少なく、普及しているとは言い難い状況です。今後、Rustが市民権を得るためには、学習コストを下げることができるかどうかにあるといえるでしょう。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
Rustの豆知識
Rustを使った有名な企業・サービス
Rustは様々なサービスで採用されています。いくつかの事例を紹介します。
DropBox
クラウドストレージを提供しているDropBoxは、Pythonで実装されていたコアなプログラムを4年かけてRustに書き換えたそうです。DropBoxは、この勇気ある判断のおかげで、パフォーマンスや保守性を大幅に改善することに成功しました。
参考:DropBox.Tech
Google&Microsoft
Googleは、自社で開発しているモバイルOSのAndroidやLinuxカーネルの実装に、Rustを採用すると発表しました。また、MicrosoftもWindows OSの一部について、既にRustで実装しているとのことです。どちらの企業も、これまでC言語やC++を採用していましたが、それらのプログラミング言語ではメモリの安全性が確保できないため、Rustへ移行しているようです。
参考:日経XTech グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影
Rust関連のイベント
Rust関連のイベントとしては以下のようなものがあります。