TOPTOPTOPTOPTOPTOPTOPTOPTOPTOP
 
掲示板 コラム 最新 コラム バックナンバー
コラム

4thDimension奮戦記 京都大学医学部附属病院検査部 白井 孝夫

 十数年前私はさる大学病院検査部病理のシステムの不備が気に食わず、そのデータの有効利用のために自ら個人的データベースシステムを開発しつつあった。基幹システムのデータをMacに移行して、同様のデータを有する業務統計および学術利用を目的としたデータベースを作り上げてしまおうという心積もりであった。

目を付けたソフトは4thDimension(ACI社、以下4D)というデータベース開発ソフト。なぜ4Dか、MacでデータベースをやるにはHyperCardでは非力すぎ、ファイルメーカーは伝票ソフト、Excelはレコード数やメモリの制約云々、次に述べる理由があるのだが選択肢は4Dしかなかった。4Dは業界紙で「プロ用」、「難解」というレッテルが貼られ、解説本も数少なく、しかも高価で(当時20万位した)素人にとっては門前払いのような代物であった。しかしMacのアプリケーションとしてNo.1は誇張でなく強力そのもの、コマンドも多く何でも出来そうに見えた。

「4thDimension入門」(BNN発行)という参考書は初歩的ながら4Dを理解するうえで大変役に立った。マニュアルは通読しなかった、いや10分以上読むとアクビがでそうな内容であった。それでも分厚いマニュアルを首っ引きにする日々が始まった。思ったほど難しくなく、いささかかじった情報処理の勉強とC言語のおかげでプログラミングに対する抵抗は全くなかった。あとは本人の熱意だろう。効率のよいプログラミングをめざして最初から配列とかポインタの活用をした。エラーの原因がわからない、カリカリと長ったらしいコーディング、データベースの設計を緻密にすべきだった(初心者には到底無理だが、)、レイアウトのセンスがないなどのマイナスの要素に嘆きつつ、思うように結果がでたときや数週間以上も試行錯誤を繰り返したプログラムの問題が解決したときの喜びは経験した人でなければわからないだろう。多分パズルやゲームに似ているのかもしれない。

コンピュータは融通が利かない。プログラムは繰り返しや設定した条件を組み合わせ、目的とする処理がなされるように記述する。変数は文字なのか数値なのか時間なのかとか、どのくらいの大きさに分類されるのかなどタイプの定義も必要だ。一文字の誤記述でエラーがでるので、いわゆるバグつぶしで目を皿のようにして捜すことになる。適正にプログラムされれば期待した結果が得られるが、プログラムで命令されたことのみの動作をして(当たり前か)、検索から出力まですべてコーディングする必要がある。処理の流れを思考しつつコーディングし、プログラムを走らせ、その結果を確認する作業は試行錯誤の連続で、思考の中断は振り出しに戻ることを意味するので時に深夜におよぶことも稀ではない。いや結果が出ず、不完全燃焼だと頭を冷やさないと眠れないのである。通勤中に無意識に4D語で考えていることがある。こだわりすぎではないか、子供が連日連夜プレイステーションに熱中しているのと同じではないか。なのに、自分が以前に記述したプログラムが理解できないこともある。注釈が必要で、何の目的で何をどう処理し、結果をどこへ送るのか、モジュール(部品)として使用されている場合は無闇に変更すると思いがけないエラーで当惑どころではなくなる。記述のムダがあれば処理スピードに影響するし、第一カッコウが悪い。こだわりの一方で完璧を目指さず、70%の出来で次の作業にとりかかる事が多くなる。納期という制約のある職業プログラマーは見切りが多いのだろうという思いがよぎる。テクニックのようなものを身に付けるごとにステップアップしていき、気がつけば独特の思考法を身につけ、プロの4D語も応用できるようになってきていた。

斯くして十余年、アマチュアプログラマーの自作データベースの出来は目的をほぼかなえるソリューションとして自己満足し、今もって発展中である。そして現在は京臨技の会計処理を中心とした会員管理システムを開発中である。今ではソフトもアカデミックの条件でスタンドアローンなら無料、関連ソフトとセットでも2万円でおつりがくる。往時の2番目の悩みが解消されている。MacとWin混在もOK。機能もまず最先端。OracleやVisual Basicなどどうでもいい気持ちである。「あらゆるものの90%はゴミである。」というチョウザメの法則からすれば、有用なものがあれば個人的には何がゴミでも構わない。そういえばデータベースは見方によればゴミだらけである。チョウザメの法則もSturgeonの法則が誤訳されている。ゴミの評価があふれている巷もデータ管理できないものか。

4Dとの付き合いは情報関係の知識全般のレベルアップにつながった。業務システム入れ替え時には、「如何にユーザーの要求をはぐらかすか」が優秀な条件のひとつと言われるSEに妥協をさせない的確な指摘ができるようになったと思っている。機能満載な発展中の4Dであるが、欲を出すと持て余すほどである。プログラミングの前頭葉に対する刺激効果を期待してアマチュアを続けていきたいが、願いはもっと自在にプログラミングできるようになる。(なりたい。)
どなたか4Dに携わっている同好の士はいらっしゃらないだろうか。

バックナンバーTOPへ戻る
ページの先頭に戻る