僕が先に3時間分くらい勉強しときました。大体こんな感じっていうのと、読んでよかった記事のリンクを貼っとくので、3時間分くらいショートカットしましょう!

どんなもの?

速いし、並行性もいい感じだし、安全なものが作れる。安全じゃない書き方をすると、コンパイラがちゃんと怒ってくれて、さらに親切なアドバイスをくれる。

まえがき – The Rust Programming Language

Rustの日本語のドキュメント。これがあれば英語が苦手な僕でも勉強できそう!無料で!

Rustは何が新しいのか(基本的な言語機能の紹介) – いもす研 (imos laboratory)

Rustのメモリ管理までの歴史やRustの特徴的な言語仕様を説明してくれてる。難しい。

エラーの例

⋊> cargo run
   Compiling variables v0.1.0 (/Users/yujiroarai/Projects/variables)
error[E0384]: cannot assign twice to immutable variable `x`
 --> src/main.rs:4:5
  |
2 |     let x = 5;
  |         -
  |         |
  |         first assignment to `x`
  |         help: make this binding mutable: `mut x`
3 |     println!("The value of x is: {}", x);
4 |     x = 6;
  |     ^^^^^ cannot assign twice to immutable variable

何ができるの?

コマンドラインツールもwebアプリもWebAssemblyもラズパイで動くものも作れる。なんでもできる。

RustでシンプルなWebサーバー | Then go talk to a wall

HyperっていうのがWebアプリを作るときのデファクト?(2019.01.14の記事)

RustでCLIツールを作り始めてみた

Goみたいにシングルバイナリを作ってくれるから、コマンドを配布した先にRustの環境がなくてもOK!

こんなとこでつかってる

    • npm: レジストリサービス内のCで書いたボトルネックになってるとこを書き換えてる

 

    • Cloudflare

 

    • VOYAGE GROUP: ログ収集ツール

 

    • Figma: real-time multiplayer syncing server

 

    • Mozilla: Servo browser engine,

Users – Rust programming language

Dropbox

[翻訳] Rustの正式リリースから1年を振り返って(米Rust公式ブログより、DropboxやFirefoxの事例、開発状況やコミュニティの動向など) – Qiita

0からhello worldまで


# インストール(rustupをインストールする)
$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env # パスを読み込み

# インストールできてるか確認(バージョンが表示されればOK!)
$ rustc --version
rustc 1.33.0 (2aa4c46cf 2019-02-28)

# ソースコード作成
$ vi main.rs
fn main() {
    println!("Hello, world!");
}

# コンパイル
$ rustc main.rs

# 実行
$ ./main
Hello, world!

周辺ツールはどんな感じ?

デフォルトで色々揃えてくれてる!モダンな開発環境がデフォルト。

    • Cargo: 依存関係の管理・ビルドツール

 

    • Rustfmt: コードフォーマッター

 

    • Rust Language Server: IDEでエラー表示とコード補完ができるようにする

 

    rustup: Rubyのrbenvとか、nodejsのnみたいなRustのバージョンと関連するツールを管理するツール

Rustが好きになる記事

RustとDNSの1年 | POSTD

愛されてるなー

Goと比較してる記事もよく見る

    • Rust なのか Go なのか | Mastering Python

 

    Go言語がダメな理由 | POSTD

終わり

もうちょっと勉強したら、もっと良い記事書きます!

广告
将在 10 秒后关闭
bannerAds