こんにちは。先端技術事業部の高津です。

 

この記事は 『CRESCO Advent Calendar 2019』  9日目の記事です。
今年もAdvent Calendarでしか皆さんとお会いできませんでした。反省です。
来年こそはもう少しタイムリーに情報発信できるようにしたいと思っています。(汗)

さて、今回は私にしては珍しく言語のお話。巷で噂の「Rust」について書いてみます。
ちょっと興味を持ったんですよね。

広がる利用範囲

先日のWeb記事にMicrosoftがWindows 10のコンポーネントの一部をプログラミング言語「Rust」を使って書き換えを進めているという話が出ていました。
ちょっと調べてみると11月にも そんな話が出ていたみたいですね。
他にもなにかないかな?と思って探してみると、AWSもLambda、EC2、S3といったサービスにRustを使っており、Rust開発チームの支援にも乗り出しているというような話もちらほら見ることができます。
このように多くの企業が自社サービスの開発に利用したり、そのプロジェクトの支援に乗り出しているのは、これまでの言語では解決できない(しにくい)セキュリティ問題の解決などに長期的に取り組むという意思の表れなのかな?と考えています。

Rustとは

そもそもRustとはどんなもの?
・Mozillaが支援するオープンソースのプログラム言語
・メモリセーフな言語としてゼロから設計された
・2016〜2019年のStack Overflow Developer Survey「最も愛されているプログラミング言語」で一位を獲得
・Rustは学習難易度が高い言語とも考えられている
・2006年に開発を開始し2015年に1.0版がリリースされた
・基礎的な文法はC言語やC++に似ている
・実装手法に限定されない非純粋なマルチパラダイムプログラミング言語

折角だからインストールしてみよう

インストールは以下のサイトにアクセス後、セットアップのためのexeをダウンロードしてファイルを実行するだけ。
※日本語には対応してなかった。

exeを実行。ぽちり。
Visual Stuidio入れろと言われた・・・
そういえばPC新しくしてから入れてなかった。ぐぬぬ

色々バタバタやってとりあえずデフォルトでインストール。

Great!

さっそく動かしてみよう

探してみるといろいろあるもので日本語に訳されたチュートリアルのようなものを発見。
https://doc.rust-jp.rs/book/second-edition/foreword.html
こちらを参考に少し手を動かしてみましょう。
やはり基本はHello Worldですかね。

プロジェクト用のディレクトリを作成して以下のコマンドを実行すると「hello_world」プロジェクトができます。

> cargo new hello_world
Created binary (application) hello_world package

出来上がったソースファイル「src/main.rs」の中を見てみると、自動的に「Hello,world!」が!!
勝ったも同然 笑

fn main() {
println!("Hello, world!");
}

実行すると難なくHello,world!が表示されました。(当たり前か 笑)

これから

今回はとりあえず動かすところまででしたが、時間を見つけてセキュリティに強いといわれる点を探っていってみたいと思います。
技術者のみなさんも世の中の動きに合わせていろいろとチャレンジしていってみてください。
おじさんも頑張ります 笑