Google Desktop Search を再インストールと日本のIT業界の遅れ

以前ベータ版をインストールしたが、日本語の検索がだめでいったん削除した。
今回、英語正式版が出たので、インストールしてみた。
残念なのは、同時に発表されたのが中国語版のベータと、韓国(朝鮮)語版のベータだけで、日本語版についてのアナウンスがないこと。やはり、IT分野ではすでに中国や韓国に抜かれてるのだろうか。

たしかに私自身、ITに関係する部門に所属し、プログラマ、SE、プロジェクトマネージャなどさまざまな現場の人を見ているが、驚くほどレベルが低い。
たとえば、外部委託したウェブを使ったシステムの開発メンバーは、CSS などの基本的な考え方をまったく理解せずに、ひどいデザインの画面を作る。ウェブのシステムの開発を仕事にしている以上、HTML や CSS は基本中の基本であるのに、その文法自体を知らない。Another HTML-lint のような文法チェッカーの存在も知らない。CSS を使って効率的に開発して欲しいと言ったら、やたら div や span を乱発する。いちいちこれらの意味を説明して、div じゃなく p にクラスを設定すべきだとか、並列で項目が並んでるときは、一見箇条書きに見えなくても ul を使うといいよ、とか細かい点までフォローしなければならない。

また、たまたま昨日私の先輩にあたる人が作ったプログラムを見て驚いた。Oracle データベースにある主となる100万件ほどのテーブルの情報に、複数のテーブルの情報を付加して新たに同じ100万件ほどのテーブルを作成する処理である。元になるテーブル1件ごとに SQL の select 文を発行して別のテーブルを検索している。そして、select 文の結果の項目をひとつずつセットしてから1件新たなテーブルに追加している。そういった追加項目が10ほどあるので、結果的にこの処理では、1000万回ぐらい select 文を発行している。
この処理が2時間もかかるのがおかしいと思って少し調べただけなのだが、当然だ。リレーショナルデータベースをこんなふうに使うなんて常軌を逸している。驚いた。
たしかに若干面倒な例外処理などを含むので、単純なSQLひとつにまとめるのは難しいかもしれないが、それにしてもひどい。ためしに、いくつかの細かい処理を端折って、ひとつのSQLでやれるところまでやって、ためしに実行したところ、数万件の処理に10秒もかからないのだ。多分、十分の一くらいまで改善できるはずだ。

これが、新人や、素人の仕事ならわかる。専門家として仕事を受けているコンピュータシステムの開発会社や、コンピュータシステムの開発経験20年以上の人間がこんな状態だ。もちろん、個々の人物だけの責任ではないだろう。日本の多くの企業がITの重要性を表面上はうるさく言うくせに実はまったく理解しておらず、コンピュータによるたんなる事務の下請け電子土木作業くらいにしか考えていないことも大きな原因だ。ITというのは別にコンピュータを使うことを意味しているのではなく、文字通り「情報」にかんする「科学技術」である。リレーショナルデータベースの前提となる「正規化」や、HTML や CSS におけるコンテンツと見栄えの分離などは、コンピュータと関係なく情報をどうとらえて、どう分類し、どう処理するかという合理的な考え方が重要なのだ。コンピュータはたまたま同じように合理なので、ITの合理的な考え方に沿ったデータなら高速に処理することができるだけの話だ。
これが理解されてないから、合理的に整理されていない仕事をそのままコンピュータシステム化しようとして失敗したり、見込める効果以上の手間や労力がかかってしまう。当然だ。1+1 が 2 にならないような仕事はコンピュータではできないのだ。そして、当然 1+1 が 2 にならない仕事はたくさんある。だから、まずITのさまざまな考え方を元に、1+1 が 2 になる部分と、そうでない部分を分けて、1+1 が 2 になる部分だけをコンピュータに処理させればよいのだ。