このウインドウを閉じる

When the cause is lost, there is enough of words.

 
 小生は、エンジニア (データベース・エンジニア) として、いままで、多数のプロジェクトに関与してきて、それぞれのシステムのステップ数を合計すれば、ざっと見積もっても、数億ステップを超えます。

 小生の自慢は、そういうプロジェクトのなかで、データベースの「驚異的な」高パフォーマンスを実現してきたことです--当然ながら、データ正規形を崩さないで実装して、高パフォーマンスを実現しています。
 小生が、こういう仕事をしていて、愉しみを感じる点は、仕事の結末が、確実に、「数値」として把握できるからです。たとえば、どれほど、データ正規形の大切さを訴えても、それを、そのまま、実装して、オンライン・リアルタイムのなかで、2秒以内のレスポンスを実現できなければ、エンジニアとして、落第 (口さきのみ) ですから。
 小生が、正論を、どれほど懸命に訴えても、正論が、(選択肢として考え得る・いくつかの候補のなかで、一番に) 効果的・効率的であることを、数値として、確実に示さなければ、小生の訴えなど、戯言になってしまう。

 数多くの SE たちが、「理論」に対して、(自らが、「理論」を理解できなければ、)即座に、「それは空論にすぎない」という言いかたをしますが、そういう言いかたは、うらがえして言えば、「(SE の) 頭が悪い」ことを暴露しているにすぎない。

 「practical」の論点は、まず、effective であること--実地に使って、目的を実現すること--であって、次の論点として、efficient --without wasting time, money or energy ということ--が考慮されなければならない。

 「practical」の反対語として、「theoretical」があります。「theoretical」の意味は、「concerned with the study of scientific ideas rather than with practical uses of science or practical experience」(LONGMAN)で、「実際の用途を考慮しない」ことを示しています。

 「技術」の底辺となっている理論は、まず、(目的に対して、) 使用上の単純性・実効性を配慮して、次に、無矛盾性・完全性を配慮して整合的に作られているはずなので、practical と同時に、theoretical である、ということです。
 そして、或る理論が、「practical」かどうか、という点は、その理論を熟読しなければ知ることができないのであって、「一読して即座に理解できない」ことが「空論」ということではない。たとえば、コッド関係モデルの論文が、どれほど、実用的であるか、という点を考えてみれば良い。ただし、コッド論文を、一読して即座に理解できる人は、多くはないでしょうね。

 「practical」の意味は、「速習」ということではない。「practical」という意味では、まず、「effective (実効性)」であることが論点になって、「efficient (効率)」は、実地の適用のなかで、次第に、改善される考慮点なのである。
 或る理論を前提にして作られた技術が、実地に役立っているのであれば、そして、その理論を読んで、たとえ、自らが理解できなかったとしても、その理論を「空論」とは言わないでしょう、きっと。もし、その理論を読んで理解できなかったとしたら、自らの「頭が悪い」ことを嘆いたほうが健全でしょうね。

 自らが理解できない理論を、即座に、「空論」と言い捨てる「実務家」の傲慢さを、小生は、一人のエンジニアとして、聞くに耐えない。

 
 (2004年9月8日)

 

  このウインドウを閉じる