プログラミング;言語;MUMPS(M言語);はじめに
昔々、1970年代に、MUMPSでシステム開発することになり、苦労させられた。
・MUMPSって、何?
教科書的な説明はネット検索すればヒットするので省略。
敢えて書けば、PDPやVAXといったアメリカのミニコンメーカと知られるDEC社の初期から開発されたインタープリタ型言語である。DECは、あれだけ隆盛を極めたのに、既に消滅してしまっている。歴史の流れは残酷である。ただし、そのDECで活躍した有能な人材は、その後、IBMやMSに転進して活躍されているらしい。まあ、それにしても、昔々の話であろう。
インタープリタ式であるために、処理速度が極めて遅く、プログラマは相当苦労したはずである。
操作端末は、今のようにディスプレイ端末が当たり前の時代ではなく、タイプライタ端末であった。その後、ディスプレイ端末になっていくのだが。
コンピュータ本体に複数のタイプラタ端末を接続して、その端末を複数のプログラマが同時にそれぞれ別のプログラムを開発したり、実行するのである。ちょうど、WinPCのDOS窓やLinuxのターミナル画面でプログラムをエディットしたり、コマンドを入力して操作するのに似ている。
例えば、きり良いところで、4台とか8台とか16台といった端末台数であった。
プログラミング言語の仕様や命令、関数などは、PC時代になって大ブレークしたBASICに似ていたというのが当方の感想である。
もちろん、手続き型記述であり、オブジェクト指向ではない。
扱えるファイル編成は、テキストファイルでもなければリレーショなるDBでもない。
ファイル系は、MUMPS独自のツリー構造のファイルシステムである。
プログラムの中では、いわゆる配列である。ローカルな配列変数に対し、HDに書込まれるグローバル配列変数でデータが保存される。また、複数の端末で動作するプログラムからは共有されてどれからも参照、書込が可能であった。
MUMPSプログラミング経験者としては、順編成、直接編成、ISAM編成といった古典的なファイル編成より、ずっと楽であった。
また、その後開発されてくるリレーショナルDBとくらべても、便利であった。複雑なSQLコマンドなんて不要だったのですから。