何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

『Python Distilled―プログラミング言語Pythonのエッセンス』を翻訳しました

Pythonを、嗜む

2023年10月14日にオライリージャパンから『Python Distilled』の邦訳である 『Python Distilled―プログラミング言語Pythonのエッセンス』が発売される。

www.oreilly.co.jp

この度、翻訳を務めた。 原著の存在を知ったのは2022年4月頃、翻訳の話が上がったのは2022年6月頃、翻訳作業は2023年1月から9月の約9ヶ月であった。 『ロバストPython』の監訳作業は2022年5月から2023年2月なので、精神的には並行して、実際には連続しての作業であった。

何が書いてあるか

大雑把に言えば、C言語におけるK&Rのような本である。 つまり、特定のプログラミング言語の高度な入門書という位置づけである。

目次を読むとわかる通り、プログラミング言語Pythonから基本となる、重要な要素を蒸留した(Distilled)本である。 一見、地味に関するかもしれないが、No human should be allowed to write Python code before reading it.という一言書評があるほど、 Pythonでプログラミングする上で欠かせない要素が満載である。 Pythonは公式ドキュメントが充実しているが、少し突っ込んだ話題になると意外と探しにくいことがある。 言語リファレンスは中々のボリュームであり、ここから必要な情報を探すのは大変である。 また、Pythonインタプリタの内部で何が起きているのか、までは書いてない(はずである)。 『Python Distilled―プログラミング言語Pythonのエッセンス』1冊を読めば、Pythonプログラミングに必要な知識はほぼすべて揃う。

既にPythonについて詳しいよ、知ってるよ、という方でも、3章「プログラムの構造と制御構造」の例外周りの話や4章から9章の話をすべて知っている人は中々いないと思われる。 7章「クラスとオブジェクト指向プログラミング」も、Pythonインタプリタの裏側で何が起きているのかを知るのにとても役に立つ。 さすがにプログラミング自体が初めてです、という場合は別の本で(例えば『入門 Python 3 第2版』の前半部分)さっくり学ぶ必要があるが、他のプログラミング言語を知っていてPythonを知りたい場合や、本格的にPythonを学ぶ場合には『Python Distilled―プログラミング言語Pythonのエッセンス』が最適である。

この手の本が今までまったくなかったのか、というと、そういうわけではない。 オライリージャパンからも『初めてのPython 第3版』や『Fluent Python』がある。 しかし、『初めてのPython 第3版』は808ページ(原著5版は1000ページ越え!)、『Fluent Python』は832ページと、読み通すのも持ち歩くのも中々に大変である。 『入門 Python 3 第2版』は「Pythonで何ができるか」に重きを置いているので、方向性がやや異なる。 一方で、『Python Distilled―プログラミング言語Pythonのエッセンス』は336ページとコンパクトにまとまっている。 公式ドキュメントに散らばった情報、明示的には書かれていない(と思われる)情報が1冊にまとまっているので、調べる時間も節約できる。

原著は3.8や3.9あたりがターゲットであるが、邦訳は各種PEPも参照して、なるべく3.12でも有効になるように訳注で補っている。 もっとも、大切な要素を蒸留した本なので、バージョンアップの影響を受けにくい、不変的な内容を扱っていると思う。

何が書かれていないのか

型ヒントや設計については書かれていないため、『ロバストPython』で補う必要がある。 パッケージングや3rdパーティのパッケージについてはほとんど触れていないため、別の書籍やドキュメントで補う必要がある。 非同期処理についても触れていない。『Using Asyncio in Python』といった本も存在するので、そちらで補う必要がある。 『Python Distilled―プログラミング言語Pythonのエッセンス』はPython言語そのものに着目した本なので、いわゆるエコシステムについてはそこまで触れていない。

翻訳作業について

今までの『入門 Python 3 第2版』や『ロバストPython』は監訳であり、長尾先生が翻訳した原稿に対してあれこれする作業を行っていたが、今回は翻訳であり、まずは自分で訳文を作る必要があった。 そして、訳文ができても、書かれている事実の裏付けや、新しくなっている箇所、訳注で補う必要がある箇所など、従来の監訳でやっていた作業をやる必要があった。 そして、翻訳文の手直しや訳語の統一、推敲、推敲、推敲である。 推すのか、敲くのか、蹴るのか、聞き耳を立てるのか。

普段は査読として、校閲っぽい何かをやっているが、今回は知り合いや頼める方に査読を依頼した。 おかげで、相当数の誤りを訂正できた。

どこで買えるのか、どこで読めるのか

今更「どこで買えるか」という話なのか、と思うが、オライリージャパンさんの本はどこの本屋にでもある訳ではない。 基本的に、オーム社の常設書店のうち、「オライリー・ジャパンの和書特約店」に限られる。

www.ohmsha.co.jp

近くの書店に売っていなくても、オライリー・ジャパンさんのサイトで電子書籍も入手できる。 また、オーム社ウェブショップを始め、オンライン書店でも購入可能である。

shop.ohmsha.co.jp

ところで、原著はアジソンであり、オライリーではない。 翻訳と原著が異なる出版社の場合、必ずしもオライリーのラーニングプラットフォームで読めるようになるとは限らない。 ただし、同じく原著がアジソンである『Effective Python 第2版』も、発売から3年ぐらい経過した後にオライリーのラーニングプラットフォームで読めるようになった。 『Python Distilled―プログラミング言語Pythonのエッセンス』も、時間が掛かるかもしれないし、確実にそうなるとは言えないが、オライリーのラーニングプラットフォームでも読めるようになるかもしれない。 ラーニングプラットフォームを活用している方でも、ぜひとも書店で書籍を手に取ってもらったり、オライリー・ジャパンさんのサイトで電子書籍を手に入れてほしい。

もし、誤植を見つけたらオライリー・ジャパンにメールまたは連絡をしてほしい。 そして、「これを読むまではPythonでコードを書かせません」と言い切る指導者が現れてほしい。 よろしくお願いします。