日常生活を大切にすること
前回に引き続き、次のPDF論文の一部を紹介します。
C++の学び方
机上の空論、という言葉があります。理想や想像で作り出した、具体性に乏しい考え(それゆえ、実現性はない考え)を指しているわけですが、私たちは時折このような穴に落ちてしまいます。自分たちの日常生活を離れた議論の成果物が、実現されることのない、机上の空論といってもよいでしょう。C++の設計者であるBjarne Stroustrup氏は、後ほど詳しく触れますが、理想論、つまり、机上の空論を嫌悪し、"自分はプラグマティスとである"と述べています。
本日は、9ページの「Teaching is best done ...」で始まる段落を検討します。Bjarne Stroustrup氏は、段落冒頭で、"厳選された具体的な例"から学習をはじめ、その後、より"一般的かつ抽象的な例を学ぶこと"を唱えます。この論文は1999年に公開されたものですが、実は、1994年に出版された著書「D&E」では、次のような文章を記述しています。
"I find comprehensive systems like those of Plato and Kant fascinating, yet fundamentally unsatisfying in that they appear to me dangersously remote from everyday experiences and the essential peculiarities of individuals."
この文章は、「D&E」の第1.3節から引用しています。Plato(ギリシャの哲学者プラトン)やKant(ドイツの哲学者)の名前が見えます。同節には、アリストテレス、ヒューム、デカルト、パスカル、キルケゴール、ヘーゲル、マルクスなどへの言及があります。結論としては、Stroustrup氏は、自分はプラグマティストであると述べ、"日常的な経験を離れた考えや、個人の個性を尊重しない考えは危険である"と表明しています。C++はプログラミング言語の一つにすぎませんが、このような文化的かつ思想的な背景を知ると、C++はStroustrup氏の世界観や人生観の表現といってもよいと思います。事実、同氏は、「D&E」の中で、"C++は自分の世界観の表現である"と明言しています。
本段落の主張内容は、思いつきではなく、Stroustrup氏の哲学の一部なのです。段落には、次のようなたいへん面白い文が用意されています。
"Otherwise, the programmer's focus shifts from producing systems to delight over technical obscurities."
「Otherwise」というのは結構難しい単語ですが、この場合、"日常生活を離れてしまうと"という意味です。具体例ではなくいきなり抽象論から入ると、"プログラマはシステムを作ることよりも、言語文法などのどうでもよい事柄を好んで論じ合うようになってしまう"と警告しています。わが国には、このような(言語宗教論争を好む)人々が結構います(悪い言葉で言えば、言語オタク)。Stroustrup氏の目から見ると、そのような開発者の採用している学習論は誤り、ということになります。言語文法や機能などは適応される場面をしっかり押さえた上で学習すべきでしょう。筆者はこの考え方に賛成です。社内の情報システム部門が設計し(外注任せで作り上げた)システムは、現場の人にとってはたいへん使いにくい、という悲劇はそこかしこで発生しています。原因がなんとなく分かるような気がします。
筆者は、C++関連書籍を読む場合、Stroustrup氏とその知人の書いたもの以外は読みません。(これは極論ですが)その他の書籍は害があるとさえ思うことが多々あります。本連載を読み終えた後、お時間のあるときに書店に立ち寄り、C++関連書を手にしてみてください。なお、本連載の姉妹編であるC++の学び方(実践編)は、"具体的な事例から抽象概念へ"という姿勢で起草してあります。
前へ |
次へ
Copyright©豊田孝 2004-
2008
本日は2008-11-22です。