January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
世界中の誰も / 欲しいものは手に入らない / そしてそれは美しい /
誰もが死ぬ / 不満と悲しみを抱えて / それが美しい
—— They Might Be Giants, "Don't Let's Start" (1986)
この文章を読んでいるということは、本書を最後まで読み終えたか、あるいは本書の結末を見るためにここをめくったのでしょう。本書では、Rustのような厳格な言語とテストを組み合わせることで、複雑なプログラムを自信を持って書いたり、リファクタリングしたりできることを示したつもりです。ぜひ、みなさんが知っている、あるいは学んでいるほかの言語でこれらのプログラムを書き直してみてください。そうすることで、どの言語がこのタスクに適しているのか、あるいは適していないのかを見極めることができるでしょう。
筆者がこれまで出会った中で「テストを書けと言うのは、野菜を食べろと言うようなものだ」と言う人が何人かいたことを覚えています。それはそうかもしれませんが、Rustのモットーが掲げる「信頼性が高く、効率的なソフトウェアを作る」ためには、この負担を背負う義務があります。テストを書くのは、プログラムを書くのと同じかそれ以上に大変なこともありますが、これらのスキルを学び、活用することは我々にとって道徳的な義務となっています。これは筆者からのお願いですが、筆者がこれまでに書いたすべてのテストを読み返して、その内容を深く理解し、自分のプログラムに取り入れられる部分を見つけてみてください。
みなさんの旅はここで終わりではなく、まだ始まったばかりです。まだまだ書くべきプログラムや書き換えるべきプログラムがあります。さあ、良いソフトウェアを書いて、世界をより良くしましょう。