Rust はじめました

Rust は mozilla が開発している言語で、コンパイル型の言語だ。

なぜ Rust なのか理由があるのでそれを上げていこう。

  • パターンマッチがある
  • cargo によるパッケージ管理便利
  • 1 バイナリ
  • 強力な型推論
  • Erlang/OTP と比べて圧倒的に処理性能が早い

まずパターンマッチ。Erlang/OTP をメインで使っているものとしては本当にこれがないとツライ。

デフォルトでパッケージ管理システムが入っているのはとても良い。cargo はシンプルでとても良く出来ている。設定ファイルもわかりやすい。

コンパイルして生成されるバイナリ、これ一つで事足りるのはとても良い。

型推論や速度はまぁその通り。早いの大事です。

Rust と比較されるが、実際は全然違うと思う Golang だが、とても素晴らしい。特にクロスコンパイルが良い。さらに性能、ライブラリの充実、シンプルで無駄を省いている言語だと思う。ただ、僕は分散システムが作りたいわけではない。もし作るときは Erlang/OTP を使う。

Rust で作りたいのはコマンドラインベースのテストツールだ。もちろん Golang でもできる。ただパターンマッチが欲しい … 。これは個人的な要望であり、好み問題なので特に気にしないでほしい。

さて、3 日ほど Rust に入門してみた。感想はドキュメントが充実しているので、とても勉強しやすい。サンプルコードも公式に落ちている。ただ、プロダクションレベルの Rust コードはそんなにないという印象だ。

やっと 1.1 がでた状態なので、まだまだなのだろう。ライブラリもそんなに多いと感じていない。ただ今のところコマンドラインツールレベルであれば、困りそうではなさそう。これから困っていくのだろう。

バイナリを吐く言語を書くのは大学時代に C を勉強して依頼なのでお久しぶりな感じ。C/C++ の替わりとして使って行ければと思う。

今まで速度を出せる言語を身につけてこなかったので、ここいらで Rust 覚えて頑張っていきたいところだ。

さて、仕事で使えるところまで持って行ければ続けられそうだ。

誰か一緒に勉強しませんか。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store