Learning Is Not Thinking
There are two types of engineers:
A) Engineers who make technologies for other engineers.
B) Engineers who use technologies which other made.
エンジニアには2種類いる。
技術を作って別のエンジニアに使わせるエンジニアと、
人が作った技術を使うエンジニア。
「勉強」が得意な、「利口」なエンジニアには、新しいものが生み出せないタイプもいる。
理解力がありすぎると、ダメなものも「覚えて、使いこなせてしまう」から、「本来どうあるべきか」が分からないんだろう。
エンジニアには、技術の狭い領域では優秀なんだけど、一般人の思考回路と離れてしまい、「つかいやすいインタフェイス」の設計力が低い人もけっこういる。
とはいえ、これは仕方ない。そういうもんだ。数学者に美術の才能を求めるようなもんだ。
追記:これはよいたとえではなかった。数学者には審美眼が必要だともいわれる。
これが典型的なJava屋の実体ではないだろうか。与えられた仕様を覚えるだけで、JSPやStrutsやJSFに何の疑問も持たない。疑問を持たないから、本来どのような仕様がいいのかなんて考えるわけがない*2。同じことはJSPやJSF以外でも言える。EntityBeanやXMLファイルにも疑問を持たないし、アクセッサやFileReaderでも同様。どんな仕様がいいのかを自分で考えることはしないから、「アクセッサ定義が面倒で見にくい」という意見に対し、「IDEで自動生成すればいい」とか「大規模開発で必要」とか的外れな反論しかできない。なぜIDEで自動生成しなければならないのか、本当に大規模開発で必要なのか、そういうことを自分の頭で考えていない。このことは最近のコメントではっきりした。自分の頭で考えてなかった連中は、『冗長な記述が大規模開発でどう役立つか』と聞かれてもはっきりと答えられず、話をそらそうとしている。

