海外コンピュータ書籍のエピグラフ

20120930-javabook.png
ケン・アーノルド,ジェームズ・ゴスリン,デビッド・ホームズ
『プログラミング言語 Java』第4版
「第7章 トークン,値,変数」より Bach の引用

ビャーネ・ストラウストラップの『プログラミング入門』について書いていて,海外の優れたコンピュータ科学者が書いた本の特長について,ふと思った。彼らは単なる情報工学科学者ではなく社会科学や文学,哲学への関心が極めて高いこと。これこそが,わが国の著者の手になるコンピュータ入門書籍の悲しい「専門バカ的性質」との決定的な違いである。日本人はソフトウェアに対する「思想的」アプローチにおいて欧米の権威者をまず凌駕できない,と痛感する。

それは,海外の著者の定評ある著書には,章の始めあるいは終わりに,本の引用句が掲げられていることが多く,そのバラエティをみれば理解できる。文学者,哲学者,政治家,作曲家,社会科学者等,さまざまな分野の著名人の著書からの文言が,著書の当該トピックに相応しいエピグラフ(題銘)として引かれている。ストラウストラップの『プログラミング入門』しかり,同じくストラウストラップの『プログラミング言語 C++』しかり,ドナルド・クヌースの『TeX ブック』しかり,ケン・アーノルド,ジェームズ・ゴスリン他『プログラミング言語 Java』しかり。これらエピグラフだけを拾って読むのも楽しい。引用は,もちろん本の章の内容に即したユーモア,逆説,皮肉,諧謔のニュアンスを担わされているのだけれども,それ自体で興味深いものがある。今日はそんなものをいくつかピックアップ。

私は,人生の大半を私自身が書いたプログラムのミスを見つけることに費やしているのに気付いたことを,よく覚えている」— モーリス・ウィルクス。ストラウストラップ『プログラミング入門』「エラー」の章から。ウィルクスは,かの世界初のプログラム内蔵式計算機 EDSAC を発明した,計算機の世界では伝説的に有名な英国の情報科学者である。人生の大半を己の仕事の「デバッグ」に費やしたと言い切ることのできるのは,己の発明よりも,誤りに満ちた人間が自分の誤りを正すプロセスを大事にしたことにこそ,己のプライドを見出す姿を示す。問題の発見こそが進歩の原動力であると身をもって証明している。

地形と地図が一致しないときは,地形のほうを信用すること」— スイス軍の格言。ストラウストラップ『プログラミング入門』「読者への覚え書き」から。スイス軍が強力な軍隊かどうかはさておき,出来合いの概念よりも常に現実の姿・状況を自分の眼で確認した上で判断せよ,という教訓である。世の現象を習い覚えた概念で固定的に捉えてしまい,目の前の事柄を皮相的に見,本質を外すことがままある。人間の行動の評価についても,その人の行動論理を慮ることなく不当に「極め付け」てしまうこともある。この格言は私自身の誡めになっている。

使用するまでにパラシュートを縫い終えると仮定して,ある時点では,飛行機から飛び降りなければならない」— Jack Rickard。ケン・アーノルド,ジェームズ・ゴスリン他『プログラミング言語 Java』「スレッド」章から。「パラシュートを縫う」という手続きと「飛び降りる」という手続きとが関連する系があるとして,前者が完了したことを前提として後者がなされるべきなのに,計算機ソフトウェアの場合,ときに並列処理でなされることがあり,この引用は,並列処理がある場合にどういう事態に陥るかを諧謔的に想像させる。顧客提出資料が間に合わず顧客先に向う新幹線のなかでドタバタ仕上げた,なんてことをやったことのある私は,パラシュートなしに落下傘部隊の輸送機に乗り作戦実行目的地に着くまでの間にパラシュートを縫っているようなものだったな,と吹き出してしまった。

もうひとつ,どのコンピュータ書籍で読んだのか失念してしまったが,そこで引かれたエピグラフに次のようなものがあった。「どのようにして,IO が逆上するのか教えてほしい」— アイスキュロス『プロメテウスの輪』。IO とは,アイスキュロスの悲劇においてはギリシア神話に登場する女神官イーオーのことであるが,コンピュータ書籍の文脈では入出力機構(アイ・オー)に読み替えられている。OS(オペレーティング・システム)の4つの主要コンポーネント(スーパバイザ,ジョブ管理,データ管理,通信管理)のうちデータ管理(入出力)は,新しいデバイスが次々と出て来るためか,とくにバグの入り込みやすいところとされる。それでシステムが「逆上」してクラッシュすることがあるだけに,このエピグラフはしゃれが効いている。

 
プログラミング言語Java (The Java Series)
ケン・アーノルド,ジェームズ・ゴスリン,デビッド・ホームズ 著
柴田芳樹 訳
ピアソンエデュケーション
The Java Series