Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

書籍「独学プログラマー」コラボ問題公開 訳者のお二人にインタビューしました。

みなさんこんにちは!PyQスタッフnanaです。

2018年2月23日に、PyQと技術書籍のコラボレーション第二弾として 「独学プログラマー Python言語の基本から仕事のやり方まで」 とのコラボレーション問題を公開しました。

公開にあたり、監訳、翻訳に携わった清水川さんと新木さんにお話を伺います。

pyq.jp

書籍「独学プログラマー」とはどんな本ですか?

独学プログラマー表紙
ビープラウド所属の清水川・新木の二名が監訳・翻訳に携わった「独学プログラマー」は、独学プログラマーである著者が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。
Pythonを通して、プログラマーとして業務に携わるための知識とノウハウを伝授する本です。(シェル、正規表現、パッケージ管理、バージョン管理、データ構造、アルゴリズム、仕事の始め方・やり方など)プログラミング初学者・初級者で職業プログラマーになりたい方におすすめします。
今回PyQとのコラボレーションとして、「データ構造」の分野から問題を提供していただいています。コラボ問題についてはこの記事の最後でも詳しくお話頂いています。書籍とあわせて使うと理解をより深められ、単品でも「データ構造」「アルゴリズム」の導入が学べる問題です。
***
  • 名称:独学プログラマー Python言語の基本から仕事のやり方まで
  • 単行本:322ページ
  • 出版社:日経BP社
  • 価格 :2,376円(税込)(紙媒体)
  • 著者:コーリー・アルソフ (著)
  • 監訳:清水川 貴之
  • 翻訳:清水川 貴之 , 新木 雅也
  • 発売日: 2018/2/23 URL:https://bookplus.nikkei.com/atcl/catalog/18/C92270/
***

監訳・翻訳に携わったお二人はどんな活動をされていますか?

それではまず、簡単に自己紹介をお願いします。

清水川プロフィールは独学プログラマーの自己紹介欄がそれっぽいので載せていただくということで(笑)

はい(笑)

清水川 貴之

清水川貴之株式会社ビープラウド所属、一般社団法人PyCon JP 会計理事。オープンソースのPython製ドキュメンテーションツールSphinxのコミッター。Python mini hack-a-thonやSphinx-Users.jpの運営の1人。2003年からPythonを使い始め、国内外の多数のPythonイベントに登壇、Pythonとその関連技術の普及に努めている。最近は、公私ともにPythonを教える立場で多く活動している。

著書/訳書

「Pythonプロフェッショナルプログラミング第2版(2015 秀和システム刊)」「Sphinxをはじめよう第2版(2017 オライリー・ジャパン刊)」「エキスパートPythonプログラミング (2010 アスキー・メディアワークス刊)」。

www.freia.jp

新木 雅也

新木 雅也株式会社ビープラウド所属。大学院研究のシミュレーションモデル構築のためにPythonを利用するようになり、その後様々な用途でPythonと関わるようになった。現在は、ウェブ開発、データ分析、機械学習などに携わる。大学留学と研究でカナダ生活が長く、英語での議論の楽しさに目覚め、余暇には議論グループであるSocratesCafeTokyoの共同オーガナイザーなども務めている。

「独学プログラマー」はどのような本ですか?

この度お二人が訳された「独学プログラマー」はどのような本ですか?読んでもらいたい人や、読む事によって得られるベネフィットを教えてください。

新木プラグラミング初学者の学習を航海と例えた時に、よい指針になる、そのような本です。Pythonという言語を使ってはいますけれど、プログラミング初心者に向けて、こう言う風に学んで行けばいいんだよという方向性を指し示す、よい道標となる本です。

ベネフィットという面では、日本語版は英語版に比べ、かなりクオリティが上がっていると思います。日本語版を読むことで得られる情報量はだいぶ増え、実用性も上がっています。
清水川この辺りブログにまとめている記事があるんですけれども。

はい、ご紹介しておきますね。

www.freia.jp

清水川これの、「この本は買いですか?」というところ。あとがきに書いたのを引用してるんですけど、Pythonの入門本がたくさんある中でなぜ新しくこの「独学プログラマー」を翻訳したのか。言い換えると、これはどんな本なのかということですね。

先ほどmasaya(新木さん)が言っていたように、単なるPythonの書き方の本ではなく、プログラミング初学者へ学習法や方向性を指し示す本です。では、そのような学習者が進んだ先のゴールはどこかというと、プログラマーとして働けることです。

「プログラミングで仕事をしたい」「プログラマーとして面接を受けて仕事を得てチームで仕事をしたい」そういうプロとして仕事をする事に興味のあるプログラミング学習者を対象に、独学、自分の力でプログラミングを学ぶための学習法が書かれています。なので、そう言う気持ちを持った人にはおすすめできるんじゃないかなと。

実用性というのは、プロとして業務でプログラミングを書く為の実用性、ということなのですね。

「独学プログラマー」における監訳・翻訳の役割

「独学プログラマー」でお二人は監訳・翻訳と表現されていますが、どのような役割をされているのですか?日本版を翻訳する事になった経緯も教えてください。

清水川はい。自分が出版社さんからお話いただいて。 最初にもらった話というのが、この本を日本語に翻訳して出版する意義があるか。内容のレビューをして欲しいという話だったんですよね。

まず最初の仕事としてはレポートを提出して、レビューの結果適切であれば翻訳もお願いしたいと。 そこで、5つの観点でレビューをまとめました。

  1. 想定読者に役立つか
  2. どのように役立つか
  3. 日本での類書は何か
  4. 扱われているバージョンは現在も適切か
  5. コーディング作法は一般的か


の5点です。
清水川 独学プログラマーは、「Pythonだけ」を学ぶ本ではなく、 「プログラミング全般の知識」や「仕事を得てチームで働くやりかた」を伝える本です。これがこの本の魅力です。

最近はPythonの入門書が多数ありますが、近いコンセプトの本は「Pythonで学ぶプログラム作法(2001年)」「初めてのプログラミング 第2版(2010年)」 の他に見当たりませんでした。

逆に、この本に掲載されているコードには粗いところがあって、そこは翻訳する上での課題だろうと感じました。

最初の段階では、翻訳それ自体というよりは原著に書かれている内容の精査が依頼の内容だったんですね。

清水川このような内容でレポートをまとめたところ、 出版社さんから出版することに決めたので引き続き翻訳も行って欲しい、と連絡をもらいました。

このとき、別に2冊の本を進めていたので、時間的には厳しかったんですが、類似の良書がなかったこともあって引き受けることにしました。

引き受けたからには、人にお勧めできる本にしたかったし、出版社さんからも間違いの修正や訳注での補足はしてほしいと言われていたので、気になる部分にかなり手を入れました。これで、レポート時点で課題だと感じていた内容の粗さはほぼ解消していると思います。

なるほど。その、英文から日本語への翻訳だけではない、技術的な監修を含めていることで、それが清水川さんの担当されている監訳、ということなのですね。 

では、翻訳のお話を受けた時に、清水川さんから新木さんへ一緒に「独学プログラマー」を翻訳してほしいというお話があったと。

新木はい、そうですね。
清水川初めは一人でやるつもりだったんですが、一人で翻訳してもつまらないかな?と思ったんです。 本を翻訳するっていうせっかくの機会なのに、苦労や経験が自分一人に閉じてしまうのはつまらないです。

複数人なら一緒に経験したりモチベーションをもらったりできるかなと思って、二人でやることにしました。

お話を持って行く相手に、新木さんをお選びになった理由というのは?

清水川masaya(新木さん)はカナダに10年以上住んでいたこともあって、英語はネイティブ並みに使いこなせます。 英語の微妙なニュアンスなどは調べてもなかなか分からなかったりするので、彼の英語スキルが翻訳するうえでの強い味方になってくれるかなと思って声をかけました。

新木さんはお話を頂いた時どのように感じましたか?

新木光栄です、と。実際に原著は、技術書ではあまり使わない口語で書いている部分も散見するので、 意図を汲み取った訳を提供する事を期待していただいたのだと思います。そう言う意味ではお役に立てたのでは無いかと思います。

翻訳という作業について。翻訳者としてどのようなところに苦労されましたか?

「独学プログラマー」翻訳で苦労したところや気をつけたところを教えてください。

新木そうですね、一番大変だったのはやっぱり時間の確保ですね。 個人的に、去年子供ができたこともあって。夜の時間が思った以上にとれなくて。作業が押しちゃって。清水川さんにいつもご迷惑かけましたね…

なるほど…業務の間にってことですもんね?

清水川というか、そもそも業務として頂いたお話ではないので。作業を進める時間を作ることは必然的に課題になりますね。
新木あとは、想定していたクオリティでの作業時間と実際に求められているクオリティの高さとのギャップがあり、 予想していた時間よりも大幅に時間がかかりました。

清水川さんの想定ではもっと高い翻訳の質を求めているんだという事に、翻訳をしはじめてから気がつきました。 なるほど、ここで止めちゃダメなんだ、もう一段階深いものを求めているんだ、という。質へのこだわりがすごかったです。

どうやって乗り切りました?

新木いやもう、愚直に。遅い時間、21時半ぐらいからはじめて、日によっては夜中までがんばって仕上げました。

技術者だからこそできる翻訳を。本から得られる情報としての価値を高めるために意識した事。

それだけ質に拘った翻訳、監訳の清水川さんとしては、満足いく出来になりましたか?

清水川はい。満足いくクオリティになったと思います。英語版よりも日本語版をお勧めしたいです。もちろん、最終的な判断は読者の皆さんにしていただいて、その結果は販売数や書評などに表れるかなと。

masaya(新木さん)の話に出ていた質へのこだわり、の部分なんですが、それはそのまま私がこの本を翻訳する上で意識した点でもあって。 具体的には、技術的に間違った情報を提供しないこととか。

あとは、機械的に翻訳するだけなら、やる意味があんまりないんですよね、技術書って。技術者の人って、英語の原著を、読める人はそれなりに読んじゃう。 今は機械翻訳の精度も高いので、英語版を買って読もうと思えば読めちゃうんですよ。 あるいは、職業翻訳者が翻訳すれば、私がやるよりも何倍も早く翻訳できてしまう。

それでも私に依頼が来たということは、翻訳の速さ以外の価値を求められていると思うんです。そこで、「技術的な背景や言い回しも含めて正しい」翻訳になることを目指しました。

内容を精査できる技術者が翻訳するからこその、翻訳ということ。

清水川そうです。それに、単に翻訳するだけだと、Pythonでこういうコードは書かないよね、 といった内容があってもそのまま翻訳されてしまいます。 そういう現実的でない話には訳注を付けたり修正したりしました。

その上で、原著の内容は尊重しないといけない。むやみに内容を付け足したりとかしないようにしないといけないんですよ。原著に書いていないことを作文してはいけないんです。

勝手に新しい事は言わずに、内容の間違いや合ってないところを自然にしていく。難しい作業ですね。

清水川気を配りましたね。矛盾しないように、これは著者の勘違いなんじゃないかな、と言うところに訳注をつけたり。この人の言っている事この言い方だと間違って伝わるから、本当は何を言いたかったのかな、とか、そう言うところを気をつけて翻訳しました。いくつかの箇所は、著者に連絡をとって確認しています。
清水川それから、価値という面でいくと日本の事情にあった情報を提供することですね。特に、この本は参考文献をたくさん紹介してるんですけど、リンク先は殆ど英語なんですよ。たまに和訳されていたりするので、そこは和訳のほうにリンクを貼りました。

和訳がないところは、全く同じではないけれどこの分野はここを見るといいですよ、という日本語の参照先を探してきたり、どうしても大事なところはリンク先も翻訳しました。リンク先の要点を翻訳するのをmasaya(新木さん)にやってもらったりしました。

すごい。かゆいところに手が届く。学習していく上での実用性をあげている、という事ですね。

清水川そうですね、実用性があがることを期待してます。この本は、英語の電子版は日本語版の半額以下なんですよ。その価格差に納得していただけるにはどうすればいいのか、ということで。日本人が学習していく上での実用性、情報を追加して価値を高めています。

"日本人にとって必要な情報をコラムとして追記している例。日本語の文字列の扱いを解説しています"

清水川ですので、日本版のほうが英語版よりも、日本人にとっては価値のある書籍になっていると思います。もちろん結果は読んでいただかないと分かりませんので、ぜひフィードバックいただければと思います。

PyQとのコラボ問題についてお伺いします。

この度、オンラインPython学習サービスPyQ(パイキュー)とのコラボということで、コラボ問題は監訳の清水川さんに、作成・提供いただきました。これはどのような問題なのですか?

清水川第4部(Part4)の第21章がデータ構造、第22章がアルゴリズムとなっていて、ここに関連する問題を提供しました。データ構造・アルゴリズムは本編では短く紹介している部分なんです。

著者の指針としては、データ構造とかアルゴリズムからプログラミング学習を始めてしまうと、つまんなくなってやめてしまう人が多いので。 まずは全体像を見ようということで著者は短くしています。でも流石にちょっと短い。なのでその補足になるような問題にしています。

清水川あと、この本って、実際に手を動かすことを重視していて、各章にチャレンジ問題が付いているんです。

23章のチャレンジ問題は、 「https://leetcode.com に登録して、簡単レベルのアルゴリズム問題を3つ解いてみよう。」なんですが、このリンク先は英語なんですよ。これはちょっと日本人がやるのはつらい。そこで、日本語に対応していて、さらにブラウザだけがあればPythonの学習環境が整うサービスであるPyQでチャレンジ問題を提供できるといいんじゃないかなと考えました。

本を訳して行く上で気を配っていた、参照先の翻訳であったり、より日本人向けの情報を提供しようと、そういうコンセプトにしたがってのオンライン連動という事ですね。

清水川はい、PyQはたまたま、自分の勤めている会社のサービスと言う事もあってカリキュラムの内容も把握していたのですが、PyQにはまだデータ構造やアルゴリズムに関わる問題は殆どない。というわけで、そこを補間する問題としても良いんじゃないかと考えました。

本の購読者にも、PyQのユーザーに対しても、価値が最大化されるような問題なんですね。

 

PyQユーザー・Python独学者へのメッセージ

それでは最後に、PyQのユーザーや、「独学プログラマー」に興味のあるPython学習者に向けてメッセージをお願いします。

清水川前書きからの引用になるんですが、この本は「手を動かしてみよう」「毎日少しずつ繰り返して、プログラミングを身につけよう」というコンセプトがあるんですね。PyQもそれは同じだと思うんですよ。

はい、まさにそうですね。

清水川なので、この本とPyQの親和性は高いと思います。22章まで独学プログラマーを読んでチャレンジ問題を進めていただいたら、コラボ問題をやってみて。そうすると、PyQの、Python入門の問題もお試しでできるようになってるので、そこまでの自分がどれぐらいプログラミングできるようになっているのか、ぜひ腕試しをして欲しいなと思います。

PyQチャレンジ問題の挑戦方法

PyQの登録画面で書籍に記載しているキャンペーンコードを入力すると、三日間無料でコラボ問題を含めたPyQの問題にチャレンジできます。 詳しい操作方法は以下をご覧ください。

PyQキャンペーンコードの利用方法 — Pythonオンライン学習サービス PyQ(パイキュー)ドキュメント

また、PyQの購読ユーザーはクエスト一覧よりコラボ問題を選択する事ができます。手を動かして覚えるデータ構造とアルゴリズム、ぜひ挑戦してみてください。

pyq.jp

Copyright ©2017- BeProud Inc. All rights reserved.