洋書の読み方・選び方
このサイトをご覧になってお気づきと思いますが、良い参考書には洋書であるものが多いのが実情です。 翻訳本が出ていれば嬉しいのですが、良書でも翻訳本が出ていないものも少なくありません。
そこで、(泣く泣く) 洋書を読まざるを得なくなってしまうのですが、私も最初は洋書から情報を得るのが大変でした。 目を通しても頭に入らないような状態でした。
ですが、ある程度読み続けるうちに英語で読んでも頭に入るようになってきました。
このページでは、私が経験から学んだ洋書の読み方・選び方をご紹介します。ご参考になれば幸いです。
洋書も読もう
英語で書かれた書籍を読むのは、日本語を母国語とする私達にとって大変な作業です。 しかしそれでも洋書からも情報を得られると良いです。
なぜならコンピュータ系の書籍は洋書の情報が充実しているからです。英語の書籍では詳しい情報があるのに、 日本語の情報ではあまり情報が無い。という場合が多いのです。 以前出版社の方に話を聞いたことがあるのですが、日本語の詳しい書籍はあまり売れないのだそうです。 薄くて入門書系の本ばかりが売れる。だから、英語の詳しい本を翻訳してまで日本で販売する価値が無いのだそうです。 ですから、英語の書籍を読むことが出来れば、より多くの情報に触れることができ、プログラミングの理解も進むことでしょう。
マイクロソフト、Google 等を始め、主要なソフトウェア企業は、英語圏の企業が圧倒的に多いです。 そのため、情報のソースは英語で出されることが多いのです。しかし、それが翻訳されることはあまりありません。 その結果、英語の書籍では情報があるのに、日本語の情報はあまり無い、ということになってしまいます。
洋書だといって毛嫌いせず、どんどん読んでみましょう。きっとその情報量の多さ、情報の速さに驚くと思います。
特定の分野に限って数冊読めば慣れてくる
私の場合、日本語の情報が無いためしかたがなく英語の資料を読み続けているうちに、 技術書ならある程度すんなり読めるようになって来ました。 私は今でも政治や経済に関する書籍は読むのに苦労するのに、です。
これはどういうことでしょうか。
おそらく、同じ分野の書籍では同じような単語、言い回しが使いまわされ、その結果、 何冊か書籍を読むだけで、英文を読むのに慣れてくるのではないかと思います。
当サイトではコンピュータ系の書籍を読むに当たり、よく使われる表現を取り上げたいと思います。
英文の説明順序に慣れる
英文は和文とは、話をする流れが違います。 この流れを抑えることで、全体の流れを把握しやすくなり、文意を理解することが容易になります。
和文と英文の違いを見てみましょう。
和文の典型的な流れは起承転結です。つまり結論が最後に来ます。
「和文」の代表的な流れ ~ 起承転結
パラグラフを最後まで読まないと、「『横浜屋』というラーメン屋が近所にあって、しかもそこが評判だ」ということがわかりません。
一方、英文はその段落で話そうとする概要・トピックが最初に来ます。概要が最初に出てきてから、 その詳細を書き、最後に詳細な結論を導く流れが一般的です。
「英文」の代表的な流れ ~ トピック → サポート → 結論
「横浜屋」という具体的な名前が出てきていないにしても、「近所にラーメン屋があって、そこが評判だ」ということは最初のセンテンスでわかります。
このように、パラグラフの最初で、そのパラグラフで説明することを説明する文をトピック・センテンスと呼ぶそうです。 段落の最初のセンテンスだけでもしっかり読めば、話の概要がつかめるように出来ているのです。 つまり段落毎の構成が先頭の文に主題が書いてあることを前提にすれば、英文をかいつまんで読もうと思ったときは、 トピックセンテンス、つまり段落毎に先頭の一文だけ読んでいけばよいことになります。
図に出てくるように、トピックセンテンスの内容を支持する文をサポーティング・センテンス (Supporting Sentences)といいます。 結論の文を コンクルーディング・センテンス (Concluding Sentence) といいます。
この文書構成を基本として常に念頭に置いておけば、細部にひっかかって挫折することも減ります。 サポーティングセンテンスあたりの文章が難解な場合、「ここはこのトピックの詳細部分だから、後回しにしよう」と考えることができるからです。
例を挙げてみてみましょう。 JavaScript 第5版 の原著からの引用です。
この文のトピックセンテンスはどれでしょうか。冒頭のセンテンスと考えて読むと次のようになります。
このように、文書構造を予想できれば、骨子を把握することはグッと楽になります。
例文
参考のため、上の例と同様に、トピックセンテンスの次に This means ... が続くパラグラフを二つ引用してみましょう。(下線と太字は私がつけてます)
After the CreateWindow call returns, the window has been created internally in Windows. What this means basically is that Windows has allocated a block of memory to hold all the information about the window that you specified in the CreateWindow call, plus some other information, all of which Windows can find later based on the window handle.
CreateWindow 呼び出しが返ると、そのウインドウは Windows に内部的に作成されています。基本的にこれはつまり、 CreateWindow 呼び出しで指定したウィンドウに関する全ての情報と他のいくつかの情報、及び、 後で Windows がそのウィンドウハンドルを使ってそれを探すための全ての情報を保持するためのメモリブロックを割り当てたということです。Charles Petzold, Programming Windows, Fifth Edition, Microsoft Press
この例も確かに「the window has been created internally (内部的にウィンドウが作られた)」という言葉の意味がわかれば、 その先は読む必要もありません。
If the WSAGetOverlappedResult function succeeds, the return value is TRUE. This means that your overlapped operation has completed successfully and that the value pointed to by lpcbTransfer has been updated. If the return value is FALSE, one of the following statements is true: ...
もし WSAGetOverlappedResult 関数が成功したら、戻り値は TRUE です。これはすなわち、overlapped 操作が正常に完了し、 lpcbTransfer で示される値が更新されたということです。もし戻り値が FALSE ならば、以下うちひとつが true です...Anthony Jones, Jim Ohlund, Network Programming For Microsoft Windows, Microsoft Press
このパラグラフのトピックセンテンスでは、戻り値が 「TRUE の場合」、といっているので、次にどこかに 「FALSE の場合」という文章が続くことを 予想することは容易でしょう。TRUE は無事に処理ができた、 と思えば、FALSE は失敗しただろうということを予想して、どんどん先へ進むことが可能です。
このように、英文のパラグラフの構成を予想することによって、文意を取りやすくなります。
無理せず、わかりやすい書籍を選ぶ
書籍によって読みやすい文章、読みにくい文章などまちまちです。読みやすいものは日本語の文章を読むのと大差ないくらい、 英語であることを意識せずに読めることもありますが、中には残念ながら私にはさっぱり意味のわからないものも残念ながら出てきます。
私の経験では、以下の出版社から出ている書籍は技術的にもしっかりしており、かつ大抵の書籍は英語も読みやすいようです。
- O'Reilly
- Wrox Press
- Addison Wesley
- Microsoft Press
当サイトでは、洋書であっても良書と思うものは紹介しています。 洋書にはあまり馴染みのない方が、これをきっかけに挑戦していただけ、良さを実感していただけたら望外の喜びです。