四次元の泥沼

Pocket

※警告:むちゃくちゃテクニカルな内容なので、古参のマカー以外は読むことを勧めない。

1998年に大学を卒業した後、プログラマーとして丸十年働いていたものの、開発ツールが滅茶苦茶マイナーだったので潰しが効かなかった、という話は何度かしてきたけれど、具体的なツールそのものの話は全くしてこなかったので、まとめて吐き出しておく。

丸十年使い倒しても潰しが効かなかった開発ツール、それは、4Dこと「4th Dimension」だった。

あー!と思った人は相当昔からの(少なくとも漢字Talk時代からの)マカーだろう。おフランス生まれのリレーショナルデータベースで、最初はMac版のみだったものの、後にWindows版もリリースされ、スタンドアローンでもクラサバでも動作する。

パソコンを使った仕事(なるべくMacで、なおかつプログラマー)に就くことを望んでいたものの、就職先が決まらないまま大学を卒業して、半年ほどプラプラした後、コンビニで求人誌を適当に立ち読みしていると、「MacとWindowsでのソフトウェア開発」という求人が目に入った。

ソフトウェア開発の仕事の求人というとWindowsばっかりな中で、珍しくMacとWindows両方、というのに惹かれて応募すると、トントン拍子で入社に至った。

そして、それが丸十年に渡る失敗の始まりだった。

入社した1998年は4Dのバージョン6がリリースされて1年程経った頃で、バージョン3で作られたシステムをバージョン6にアップデートする作業が多かった(バージョン4と5は欠番)。というより、アップデートするのが急務だった。

なぜならば、4Dのバージョン3はHFS+の環境で運用するとデータファイルをぶっ壊すというとんでもない問題を抱えていた。あくまでも憶測推測だが、データベースというものはディスクアクセスがボトルネックになりがちなので、速度向上のためにAPIを介さず直接HDDを読み書きするというお行儀の悪いことをしていたのがファイルシステムの変更で裏目に出た、と考えられる。

また、4Dは初期の頃から日本語版もリリースされてはいたものの、日本語環境で運用する上で重大な問題を抱えていた。IMEがATOKだとボコボコ落ちまくるのだ。

だから、エンドユーザーには毎回頭を下げて、ことえりMS-IMEを使ってもらっていた。そして、ことえりやMS-IMEを使っていても、開発モードでテーブル名やフィールド名に2バイト文字を使おうとすると、頻繁に文字化けが発生した。

そのため、テーブル名やフィールド名は全て英語を使うことになっていたのだが、そうするとレコードの検索や並べ替えで4D側がデフォルトで用意しているダイアログを使うと、当然、テーブル名やフィールド名が全て英語で表示されてエンドユーザーにはわかりにくい。だから、テーブル名やフィールド名の英語を日本語に変換する対照表を別途用意して、なおかつフルスクラッチでカスタムのダイアログをフォームエディターで作らざるを得なかった。

こうした日本語環境で発生する諸問題も、IMEを使ったワンクッション介したテキスト入力というものを4D側が想定していなかったのが原因だったと考えられる。

また、開発モードで使うプログラミング言語は、(最初にリリースされたのがMac版だったこともあってか)よりによってPascalベースだった。Delphiじゃあるまいし。

それに加えて、フラ公の妙ちきりんなこだわりにも振り回された。予約語が英語だけでなくフランス語も用意されている(制御構造がフランス語でも書けるよ、やったねたえちゃん)、なんてのは序の口で、何故かファイルがリソースフォークとデータフォークを両方持っていた。

通常、MacのリソースフォークというのはOSやアプリといった実行ファイルだけが使う筈のもので、テキストファイルや画像ファイルといった単なるファイルはデータフォークだけしか持たない。だからアドビ製品やMS製品の場合、アプリで作ったファイルはそのままMacとWindowsの間で遣り取りできる。ところが4Dのファイルはリソースフォークも持っているので、そのままではWindows環境に移動できない。

そこで、システムの稼働環境をMacからWindowsに変更する場合、Mac環境では1つになっているファイルを専用のツールを使ってデータフォークのファイルとリソースフォークのファイル、2つのファイルに分割して、然る後にWindows環境へ移行しなければならなかった。

しかし、そうなるとWindows環境では単純にファイルの数が倍になってしまうのに加えて、環境設定次第では拡張子が表示されないこともあったりするので、バックアップの時に片一方のファイルだけをバックアップしてしまうというミスが頻発した。

こんな風に、クセ強で様々な問題を抱えていた4Dだが、それに加えて技評も翔泳社もオライリージャパンも4Dの解説書なんて出していない(国立国会図書館サーチの検索結果によれば、4Dの日本語解説書は2001年以降、出版されていない)。Qiitaでも4D関連の記事は片手で数える程度しかない。つまり、(少なくとも国内では)その程度の知名度しかない。

20代後半から30代前半という社会人の第一歩の段階で、こんなシロモノばっかり丸十年も使い続けていたのは、アイテー屋のキャリア構築としては大失敗だった。

ソフトウェア開発の仕事に就くことを目指していたり、システム開発を外部に依頼しようとしていて、もしも、万が一、開発環境は4D、などというデベロッパーと遭遇してしまったら、絶対に関わってはならない。関われば関わるだけ、人生を棒に振ることになる。俺のように。

Pocket


投稿日

カテゴリー:

投稿者:

タグ: