<http://amrita.s14.xrea.com/d/?date=20030804#p04>
via <http://cgi14.plala.or.jp/imaishi/changelog/2003-08-08.html#2003-08-08-1>
言っていることが良くわからないんだが、かなりの疑問が浮かぶので、とりあえず反論してみる。
私の勘違いもあるかもしれない。
まず、疑問から。
プログラム言語と論理マークアップの違いを自転車と自動車の違いで例えているのが無理があると思う。
自転車と自動車はどちらも移動する目的のための道具であり、同じ目的であるのに対し、
プログラム言語と論理マークアップ言語は目的が全く違う。
自転車と自動車の例を出すならコンパイル言語とスクリプト言語の違いだろうか。
プログラム言語と論理マークアップ言語の例としては自転車と
サイクリングマシン(ジムにあるような動かずに運動するヤツ)だろう。
そして、「見えないものの本質的な構造」を意識する必要があるのは、
オブジェクト指向プログラミングや論理マークアップ言語ではなく、
オブジェクト指向設計であり、論理的考察による理論の展開だ。
ここまで考えて、ようやく言いたいことが見えてきた。
プログラミングの本質(プログラムの設計: 参照元の言うオブジェクト指向言語)や
文章で何がいいたいか(参照元の言う論理マークアップ: HTML の b にするか、strong にするか)を見るか、
プログラムの書き方や文章の書き方を見るかということだろう。
元記事で言いたいことは、昨今、オブジェクト指向が叫ばれているが、
オブジェクト指向での振舞いのみを重点的に見て、何を目的にプログラムしているのかが
わからないという人たちにもオブジェクト指向という聞こえの良さだけで
普及させるのはどうなのか、ということだろう。
で、私の反論としては、
そんなに考えても普及しているという現実を見ればある程度は仕方ない部分もあるでしょう。
現実として、2 カ月程度、新入社員研修で Java の書き方を学んで実践ということもある。
そして、その新入社員として入ってきた人間の上に立つ者も、オブジェクト指向を学んだわけでもなく、
今までのオブジェクト指向でない考え方でやってきた人たちが会社などの意向で
急にオブジェクト指向をやるハメになったということも考えられるし、
実際にそのような現場に直面したこともある。
これに関してはその会社の方針もあるので、第 3 者がとやかく言うことではない。
そのことを嘆いても仕方ない。形から入るのは誰しもやることだと思うので、そのことを責めても仕方ない。
それよりも、本質を理解せずに、その言語や考え方を理解したと思わせることが問題なわけで、
それをなくさせることが大事なんじゃないかな。
例えば、巷に氾濫している入門書がこの場合の問題の部分だと思う(もちろん、中には良い入門書もある)。
それにオブジェクト指向の概念は今に始まったことではない。
例えば、C 言語の fopen とか、fclose はオブジェクト指向的な考えで作られたと思う。
言語がサポートしていないという制限もあるが、ちゃんとオブジェクト指向していると思う。
<http://www.rubyist.net/~matz/?date=20030730#p01>
にもある通り。
私の結論としては、
元の記事は例の出し方はまずかったと思うが、言いたいことはわかるし、共感する。
ただ、上記で書いたように問題としている箇所が私とは異なる。
という私の意見です。