y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

情報処理とは意味をスイッチに処理させることだと気が付く

データベースアプリケーションの開発を生業としている。
顧客の業務によっては、恐ろしいほどの”意味の渦中”で溺れそうになる。
具体的には、データベースに格納したい文書タイプが50あり、ひとつの文書は平均して40のフィールド(属性=意味のラベル)を持っている。今現在取り組んでいる仕事では、トータルで2000ものフィールドを整理したりコード化したり、階層化したり・・といったことを設計と称して行うわけであるが、日々の生活で、自分の頭で2000もの属性項目を処理できるとは全く思えない。一週間の予定(日付、タスク名、コメント)程度の情報でさえ、自分の頭では記憶も検索も出来ないときた。(汗)

データベースの世界では数値、文字、日付しかなく、それぞれに必要なバイト数、精度で決定付けられる。
どれだけ共通項を見つけ、少ないサイズで実現できるか・・・を称して”汎用設計”などと言ってみたりして悦に浸る。
普通に2000ものフィールドを入力するための画面、検索するための画面、インポートツールにエクスポートツールなんかを黙々と作り始めちゃったら不幸の始まり。
顧客はどう思っているんだろう?「こんなに複雑なキーワードを駆使して、高度な仕事をしているんですよぉ」とぼやき半分、誇らしい気分半分なんだろうか?それとも、「なんでこんなにたくさんの値があるんだ」と辟易しているのか。
一応お金を貰って仕事をする以上、「大変な業務内容であること」に理解を示しつつも、「これだけしっかり管理されていれば事足りるんじゃないですか?」とサクっと言って、安心させてあげたいと思ってみたり。顧客といっしょになって「どうしましょうねぇ」なんていう体たらくではいけない・・・などと思ってみたり。

一ヶ月もの間、コーディング(プログラム開発)を始めたいのをぐっと堪えて、エクセルと睨めっこを続けるうち、
「意味を整理して、数値、文字、日付で代表させ、スイッチに計算をさせるのが情報処理か」と当たり前のことに気づくのである。意味が与えられ、名前が付けられた対象を見ているよりも、人間がなぜそのような意味を与え、他と区別したがるのか・・脳や言語や意味の話だ。
データベース設計は、意味論を知らないとダメだ。顧客業務への精通でも、特定分野の知識でもない。意味だ。
これとあれは同じ、これはこういうシンプルな原理ですべてをカバーできる・・・っていった具合に、脳が色んな風に繋がっていく。
意味の洪水の中で、何が本当に必要なのかさえ見極められれば、悪いシステムになるわけがない。
メールのSubject,To,Bodyっていうくらいにシンプルな基本形を見つけ出せれば最高。