SSブログ

オンライン読書会を始めました [オンライン読書会]

記事「オンライン読書会を開催します」で書いたように、今月から二つのオンライン読書会を始めました。
基本的には、書籍を最初から読んでいく読書会です。どちらの書籍も、私自身が英語版の草稿のレビューアの一人であり、さらに日本語への翻訳を行っていますので、書籍の内容だけでなく、翻訳することになった経緯を話したり、謝辞に名前が掲載されている人達の簡単な紹介を行ったりもしました。

書籍『プログラミング言語Go』は、Go言語そのものを学ぶための書籍なので、理解するために必要なGoの知識は基本的に不要です。むしろ、さまざまなプログラミングの基礎知識やウェブの関する知識(HTTP、JSON、Rest API等々)は持っている前提になっています。

一方、書籍『Effective Java 第3版』を理解するために求められるJavaの知識は、膨大です。それについては、私自身が、「訳者まえがき」に次のように書いています。
この本は、初心者向けではありません。この本の内容を理解するには、私が翻訳した『プログラミング言語Java 第4 版』および『Java SE 8 実践プログラミング』で解説されている内容程度は理解しておく必要があります。
たとえば、Javaの言語仕様における「クラスのメンバー」とは何かを理解している人は多くはないと思います。しかし、『Effective Java 第3版』には「クラスのメンバー」という表現が、普通に出てきますし、読者が理解しているという前提になっています。

書籍『プログラミング言語Java 第4版』の「2.1.1 クラスのメンバー」には次のように説明されています。
クラスは、3 種類のメンバーを持つことができます。
  • フィールド(field) は、クラスやそのオブジェクトに付属するデータ変数で、クラスやオブジェクトの状態を保持します。
  • メソッド(method) は、クラスの実行可能なコードを含んでおり、オブジェクトの振る舞いを定義します。
  • ネストしたクラス(nested class) とネストしたインタフェース(nested interface) は、クラスやインタフェースの宣言の中で入れ子になっているクラスやインタフェースの宣言です。
この説明をよく読むと、「コンストラクタ」が含まれていないことに気付きます。コンストラクタは「クラスのメンバーではない」のです。

ただ、読書会参加者がこのような知識を持っているとは限らないため、都度、必要に応じて説明しながら行う読書会になっています。

Zoomなので参加者数にはそれほど制限はないのですが、1ページごとに順番に読んで、Q&Aをやったりすると、20名弱ぐらいしか読む順番が回ってこないです。

それぞれ月に1回なので、書籍全体を読み終えるのに多くの回数が必要だと思いますが、地道に継続していく予定です。
コメント(0)