システム開発の経験(3) dBaseIII
会社に入って3年目頃、プログラミングに興味を持ちました。システム部署で仕事をするということは、ベンダにシステム開発をお願いすることになります。この頃から、システム開発は、とても人間臭い仕事であると思っていました。開発費用はほぼ人件費で、それが「工数」という単位で計算されます。これは現在までほぼ変わりません。ところが、一時間で仕上がる仕事というのは、人によって千差万別です。短時間で(つまり少ない工数で)いいものができたり、工数の割には大したものができなかったりします。
私は、システム開発は究極の労働集約産業だと思います。生産設備はほとんどなくて、ほぼ人でで生産されることになるからです。そうであれば、システムを作る人に気持ちよく仕事をしてもらい、よい成果を出す方が得です。そのためには、システム開発をする人の気持ちがわからなければなりません。プログラミングをすることで、少しでもシステム開発の人と気持ちを共有できるのではないか、というのがそのきっかけでした。
当時のプログラミング言語は、COBOLが主流でした。しかしパソコン上で動くデータベースとして、dBaseIIIというのが世の中に普及していました。いわゆるリレーショナルデータベース(RDB)の考え方に基づいて、複数のテーブル構成で一つのデータベースを構成するものです。キー項目と従属項目を分けて考えて、キー項目はIndex化することで、検索が高速化したりします。プログラミングが可能で、簡単な画面も作れます。
私は当時独身ですから、時間がかなりあります。購入したJ-3100で試作品を作り、担当していた企業間システムのマスタを管理するツールを作りました。当時のコードの一部は、こんな感じです。
@ 2,14 SAY ‘** 部 署 マ ス タ 登 録 画 面 **’
@ 4, 3 SAY ‘新訂(N/U/D/E)’
@ 6, 3 SAY ‘部署コード’
@ 9, 3 SAY ‘部署名’
多分、行と列を指定して、画面を描いているんだと思いますが、dBaseIII自体がないので、動かすことはできません。dBaseIIIは一世を風靡しましたが、Windowsへの対応が遅れたため、現在ではAccessなどに取って代わられてしまいました。しかし、プログラミングの基本である、入力、分岐、出力、変数など、基本的なアルゴリズムは全部表現できますし、優れたRDBMSであったことは間違いないと思います。
プログラミング言語というのは、文法さえ覚えれば基本はほぼ同じです。プログラミング言語を覚えるための一番の近道は、実際にツールを作ることだと、この時思いました。この考えは、今でも変わりません。モノ作りは大変だけど、作り上げるとなんとも達成感があり、楽しいものだと思います。