新・闘わないプログラマ No.108

隔靴掻痒


知り合いがMicrosoft Accessの勉強をしているとかで、ときどき質問の電話が掛かってきます。その人(おばさ……あわわわ、いやいや、おねえさんですが)は専門学校でコンピュータの勉強をしたことがあって、全くの素人というわけじゃないので、テーブルの正規化とか、そういった概念もかなりの程度、理解しているようです。
でも、私にAccessのことを聞かれてもなあ、私も真面目に使ったこと無いですし、しかも電話では、簡単に教える、というわけにも行かなかったりしますしね。
しかし、あのAccessのようなソフトウェア、一般的にどんな位置付けなんでしょうね。AccessはMicrosoftのoffice suiteの一つなわけですけど、リレーショナルデータベース(RDB)の概念を知らない一般人が使いこなせるような代物でも無いような気がするのですけど。だいたい「Excelとどう違うの?」とよく聞かれます。どっちも「表」を基にしてデータ処理を行うわけで、なかなか違いを説明するのが難しかったりします……というか理解して貰えない。
結構ありがちなのが、AccessのテーブルをExcelと同じ感覚で使おうとしている人。「テーブルの最後の行に式を書いて合計を表示させたいんだけどどうしたらいいの?」とか、「列毎に型が決まっていて、同一列に文字列や数値やらを混在させられないけど、どうして?」とか、「テーブルの行を並べ替えたいんだけど、どうすればいいの?」とか、なぜに表計算ソフトを使わずにデータベースソフトを使ったのかしらん、と思うことも多いわけです。
まあ、それもこれも「RDBとはいったい何者?」というあたりの理解がないための光景なのかも知れません。とはいえ、逆にいえば、コンピュータの専門家でもない人たちがRDBの概念を果たして知る必要があるんだろうか、とか、もっと言えば、office suiteにデータベースソフトが果たして必要なんだろうか、さらに言えば、みんなAccessとか使っているんだろうか、などという疑問も湧いてくるわけですね。

ところで、私はAccessは嫌いです……というか、あれ、好きな人います?? 世の中には、Accessを使ってアプリケーション開発をやっているソフトハウスも結構あるそうですけど、うーん、どうなんでしょう。私はあれでアプリケーション開発をやるのは避けたいです。
まあ、時と場合によってはAccessのデータベースエンジンを使う、というのはまあ許せる範囲内ですけど、その場合は、アプリケーション自体はVisual Basicとか他の開発環境を使いたいです。Accessでもアプリケーション開発は出来ることになっていますけど、あれで本当にちゃんとしたアプリケーションが作れるんですか?
というのも、件のおねえさんの質問を聞いていると、とにかくモジュール(Accessに備わっているプログラミング環境、言語はVisual Basic)は書きたくない、テーブルとクエリーとフォームとレポートとマクロだけで、あるアプリケーションを作りたい、とのこと。
まあ、やって出来ないことは無いようなのですけどね、「ああでもない、こうでもない」といろいろやってみたときに頭の中にポーンと浮かんだ言葉がこれ、「隔靴掻痒」 ←あ、いないと思いますけど、意味や読み方がわからない人は辞書を引いてください。わざわざ私あてに質問のメールなんか出すより、そっちのほうがずっと楽ですよん。この間なんか「『いわしの頭』って何ですか?」なんていうメールが来たもんなあ、そんなん辞書を引けよ、辞書を。
余談はともかく、Accessでアプリケーションを作っていると、やりたいことがストレートに出来ない。一所懸命ヘルプとにらめっこ、イルカさんに相談している私。「こんなん、Visual Basicでもいいから、プログラムを書いたほうが遥かに簡単なんだけどなあ」
ぶつぶつ。

Accessのようなやつでアプリケーションを作る上で怖いのが、diffが出来ない、ってのもあるかなあ、なんて思います。というか、出来ませんよね? 私が知らないだけ?
要するに、修正した後で、今回どういった修正をしたか、というのが一覧で分かる、というのは非常に重要なことだと思うのですけど。普通のプログラミング言語なら、修正前と修正後のソースの差分を調べて(有名なものに、UNIXが発祥の「diff」というツールがあります)、変な修正をしていないか、また、修正履歴を後で調べることも出来るわけです。
Accessの場合、そもそもソースファイルが無いですし、出来ませんよね、そんなこと。「そんなん、お前が知らないだけじゃー、こうやればできるぞ」というのをご存知のかたは、こっそり教えてください。

まあ、Accessも、全体がもっとオブジェクト指向化されていれば、アプリケーションも作りやすいような気がしますけど、今後、どうするんでしょうね。
そうそう、オブジェクト指向と言えば、私なんかは古い世代のプログラマなんで、やっぱりオブジェクト指向っていうと、他人の家に上がりこんだような印象を受けます。なんかよそよそしい、というか、自分の家で好き勝手にしているのとは、ちょっと違うとでも言うか。
FORTRANを出発点にして、ずーっと手続き型の言語をやってきたせいか、どうもオブジェクト指向って、自分のものにならないんですよね。もちろん、そういうのも出来ないことは無いのですけど、でも、なんかね。やっぱり隔靴掻痒というか、そういう印象を持ってしまうのです。
そんなわけで、オブジェクト指向を駆使している若い人たちを見ると、羨ましくなってしまうのは、やっぱりトシのせいでしょうか。


この話に関連して、何人かの方からメールをいただきました。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp