この記事は、ニフティグループ Advent Calendar 2022 22日目の記事です。
こんにちは!ニフティ株式会社の上原です。
個人的にRustという言語にハマっており、社内でもRustを学ぶ勉強会を主催しています。
プログラミング言語を学習する際にはまずは書籍を買って勉強される方も多いと思うのですが、お金がかかってしまいます。
Rustは入門者向けのWeb上の資料が充実しているため、書籍を買わずとも学習することができます。
ここでは無料で見られる教材についていくつかご紹介します。
教材
Tour of Rust
Rustで出てくる概念の説明とソースコードが例示され、実際にコードを手元で実行することができる教材です。
私はいきなりThe Rust Programming Language(後述)から始めてしまったのですが、まずはここから始める方が良かったかなぁと思いました。
ローカルにRustの開発環境を整えることなく、ブラウザ一つあれば気軽に学習を進めることができることから、まずはTour of Rustからやるのがいいと思います。
https://tourofrust.com/00_ja.html
The Rust Programming Language
公式から出ているRustの入門書で、よくTRPLと呼ばれています。
入門書と言われてはいますがカバーしている範囲は幅広く、この教材だけでRustのなんたるかは理解できるかと思います。 その分、インプットする量は多いのですがコマンドラインツールやWebサーバを作る回もあるので、実際に手を動かしながら学ぶこともできます。
また、メモリやHTTPなどのRust以外の話にも触れられており、参考になります。
難点としては、とても丁寧に文章が書かれていて、結局何を言いたいのかわからなくなってしまうことがあったり、日本語訳がところどころおかしな場所もあったりするところです。 そういう時は他のネットの記事を読んでみたり、原文の英語で読むと理解が進むかもしれません。
大体11章までやればRustの基本的な部分は抑えられると思います。
ちなみに社内勉強会でもTRPLを使っており、全て終わるのに1年かかるくらい濃密な内容となっています。
https://doc.rust-jp.rs/book-ja/
Rust By Example
TRPLと異なりこちらはコード中心の教材になります。例示されたコードを通してRustの各概念を学んでいきます。
TRPLで勉強した部分を簡単におさらいしたいときに使っています。
https://doc.rust-jp.rs/rust-by-example-ja/
rustlings
Rustの文法練習問題集です。
そのままではコンパイルできないコードが幾つか用意されており、コンパイルできるようにソースコードを修正していく中でRustの諸概念を習得することができます。
これだけだと他の言語の教材にもあるかもしれませんが、rustlingsというコマンドをインストールしてやると進捗状況や正解かどうかが🎉で表示されるのでゲーム感覚で楽しく学ぶことができるのでおすすめです。
TRPLの章を終わらせるごとにrustlingsで力試しすると理解がさらに深まります。
始め方は、rustlingsというディレクトリができてもいいディレクトリで以下のコマンドを実行します。
1 |
$ curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash |
エディタでrust-analyzerによる補完を効かせたい方は以下のコマンドを実行しておきましょう。
1 2 |
$ cd rustlings $ rustlings lsp |
rustlings watchでスタートです
1 2 |
$ cd rustlings $ rustlings watch |
https://github.com/rust-lang/rustlings
まとめ
現在はネットでも十分に情報を集め、無料でプログラミング言語を学べる時代になりました。
2023年を迎えるにあたり新しいことを始めるのに、Rustの学習を一つ候補に入れていただき、この記事を参考にいただければ幸いです。
明日は@kinari321さんです!楽しみですね。