何故これから長々と私の中途半端なプログラミング経歴を語るかと言うと、それに親近感を持ってくれた入門プログラマーがこのブログを通し、ライバルとなって一緒に学んでいってくれれば良いなと思ってである。
まず私がどれだけの入門者レベルであるかを表す為に言うと、過去にプログラミングに対しての経験は、ファミリーベーシックやアクセスマクロ、ハイパーカード等であるが、それらはことごとく挫折している。
まずファミリーベーシックであるが、当時付属の説明書を何度みても分からなかった。確か、プログラムは上から順に処理されて行くと言う前提知識が無かったからだと思うが、小学生でしかも算数も国語も2だったとしても、説明書はちょっと不親切だったと思う。
次にかなり後になってハイパーカードだが、本屋でマンダラアートと言うアイデアストームソフト付きの本を発見。アイデアの整理には前から興味があったが、異様に価格が高く、そのアイデアだけを頂戴して、ハイパーカードで自前で作る事にした。そのAppleの簡易カード型プログラミングツールは非常に良くできていて、システムに関わる部分(メモリやファイル関連等)に関しては簡便にすませるか、端折ってしまっているので、ツールの提供するカードプログラミングと言う抽象的な概念に酔ったまま、一冊のリファレンスを頼りにほとんどの事を実現出来た。
マンダラアートの仕組の実現には頭を捻ったが、知っている人には分かるが、そのソフトの画面は真ん中のマスを中心にして、周りを八個のマスが囲む。その真ん中のマスにテーマを書き、その周りの八マスにそれについてのアイデアを書き込む。書き込んだアイデアの発展を思い付けば、そのマスをクリックする事によって、それを真ん中にした新たなマス九個が現れる。それを繰り返して行き、アイデアを具体化していくのであるが、それをプログラム上で実現するには、どんどん増えていくマス一つ一つに違う番号をある法則に従って割り当てなければならない。そうしたら、その同じ法則に従ってマスを辿る事もできるはずだ。例えば、マス九個に一から九まで番号を割り当て、あるマスからまた九個のマスが枝分かれする場合は、元のマス番号を掛ける10し、元の位の数字はまた九まで並べれば、他のどんなマスから枝分かれしようとも、番号はダブらないのだ。するとどの階層の何マスの情報を取り出すにも、ちょっとした計算でよくなる。
今から考えれば大穴のある作りだが、メモリや配列など知った事ではなく、そんな程度でも十分応えてくれたのがそのツールの良さだった。
しかし、当時でもすでにハイパーカードは過去のツールであり、それを作った以降は早急に興味は失われた。
次はデータベースソフトのMicrosoftアクセスのマクロであるが、稼業の靴店
の在庫、販売管理に使用しようとした。テンプレートのデータベースが幾つか用意されており、大概の業務ならそれで事足りるはずだが、戦後から続く店舗の関係上、築かれた人間的過ぎる在庫システムをそっくり移行するのは現実には不可能だった。それの帳尻としてマクロのプログラミングが必要になったが、それはリレーショナルデータベースの仕組、アーキテクチャについての理解を必要とした。要は、あるデータベースのレコードが、あるデータベースの要素であったりする構造を持つデータベースの仕組である。
例
それはクエリと言う仕組によって業務の必要に応じてこう言う表を作る事も出来る。
しかし、余りにも適当な既在商品管理法に無理に合わせようとし、リレーションとクエリの糸をグチャグチャのスパゲッティにした結果、ある日ファイルが壊れた。もちろんバックアップがあるので、それを開けたら、それも壊れた。私の使い方も悪かったかもしれないが、開けただけでファイルが壊れると言うのは多分アクセスのバグである。今更文句はないが、それ以来使用しなくなった。
が、その後日経平均先物の過去データを、またMicrosoftのExcelのマクロで分析と言う事もしたが、必勝法の発見に一喜一憂しながら、軍資金が尽きてそれも使用しなくなった。それはプログラミングとはあまり関係がない。
そのようなかんじである。