Tech Racho エンジニアの「?」を「!」に。
  • Ruby / Rails以外の開発一般

Rustのドキュメント、どれを見るべきなのかという話

※この記事では、「現在」という言葉は「記事執筆時点(2020年4月4日)」のことを指します。

Rust は良い言語です。しかし、まだ枯れた言語ではありません。開発は非常に活発で、実験段階の新しい機能も山程あります。現在の安定版は Rust2018 で、それ以前の Rust2015 に対する破壊的な変更も含まれました。それまで「この方針で行くぞ」となっていたことが突然「やっぱりやめるわ」になったりするのですから、言語進化のスピードが速いのはユーザーにとっては良し悪しです。最新規格を追いかけるのはそれはそれで楽しい(※個人の感想です)ですがそれはそれ。今回は言語そのものではなく言語に付随するドキュメントの話です。

言語の進化が速いということは、同時にドキュメントの改定も(ちゃんと書いていれば)頻繁に行われるということです。ですから、油断しているとすぐに「その情報古いよ」となりがちです。特に、原本が日々改定される英語版ドキュメントではなく、翻訳版となればなおさらです。日本への Rust の普及のため翻訳に尽力してくださった方々には頭が上がりません。しかしながら情報が古くなってしまうのは如何ともしがたく、古くなってしまった日本語文献に当たるよりは原文を頑張って読むとか、 DeepL 先生に翻訳してもらうとかした方がいいこともあります。

一例として、例えば Box についての情報を調べるため、 Rust Box で検索してみたとします。現在、検索結果に出てくるのはこんな感じです。

さて、ここでトップの検索結果をクリックするとこのページに飛ぶと思います。
このドキュメントは、 Rust 界隈で "The Book" あるいは "TRPL" と呼ばれるものの first editionRust 1.6 の頃の翻訳です。ちなみに現在の Rust のバージョンは1.42です。

The Book には今のところ3つの edition があり、それぞれ "first-edition", "second-edition", "2018-edition" となっています。このうち、 "2018-edition" が Rust2018 に対応した現在の最新の生きている(Living)版になります。

先程の日本語訳は rust-jp 翻訳チームが過去に翻訳を行ったものですが、Google検索で引っかかるのは最も古いものです。トップページに行けば同じ first-edition でも Rust 1.9 の頃のものがありますし、 second-edition の方がさらに新しいです。残念ながら 2018-edition の日本語訳は現在存在しませんが、少なくとも日本語訳ドキュメントに当たる時は second-edition に当たるべきだと思います。

The Book の second-edition は Rust2018 に対応していません。したがって、 Rust2018 の情報を調べたい場合は 2018-edition に当たる必要があります。これには公式の英語版を読む必要があります。英語力鍛えていきましょう。

なお、 DeepL 先生は実際 Rust のドキュメントも割といい感じに翻訳してくれます。誤訳がないか原文も確認した方がいいですが。

おたより発掘


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。