開発言語 雑感

オレが主に使う開発言語はC/C++だ。Javaも使ってみたいが、そんな案件に遭遇しない。
そして次によく使うのはrubyPythonawk。いわゆるスクリプト言語だ。


大量のデータを統計処理するために整形する場面が非常に多い。しかもお客さんごとにデータの形式が違うから、毎回毎回データ整形の処理を書かなきゃならない。そんなとき、スクリプト言語は非常に重宝する。


一番よく使うのはawkだ。だいたいのデータはCSV形式で送られてくるから、ほとんどawkで事は足りる。


しかし痴的知的興味からrubyPythonを使うこともある。無理やりである。awkでもじゅうぶん可能な処理でも、そのときオレの中で流行っているのがrubyだったらrubyを使うし、PythonだったらPythonを使う。

どちらも使っていてなかなか楽しい。


rubyは実装がキレイで、まさしくオブジェクト指向なのが使っていてうれしい。うまく実装できないとき、たいがい原因は自分の設計に穴があるときだ。言語の規定しているルールが設計のミスを教えてくれる。開発言語はまさにこうあるべきだなーと実感する。でも、書き方が自由すぎて、要らぬことを考えてしまうのが欠点。ループひとつ書くのでも無意識に「どう書くのがエレガントか」なんて考えてしまう。


Pythonの実装は実用重視となっている。そしてインデントでコードブロックを表す。これが実にオレ向きなのだ。C/C++のように自由な書式ではない。この不自由さがオレに要らぬことを考える隙を与えない。その分コードに集中できるのだ。


そしてなぜか、Pythonを使っていると、ふとオレがこの業界に入って初めて使った言語、MUMPSを思い出す。(学生時代にBASICは使ってたけど) 書式の雰囲気が似ていて、だから馴染みやすいんだろう。

当時、派遣でDECに行っていたから、DEC製のMUMPS、DSM(Digital Standard Mumpsだっけか)を使っていた。

おもしろい言語だった。まずOSからはまったく閉じた世界で動く言語だった。グローバル変数がそのままデータベースになっていて、グローバル変数は再起動してもそのまま保存されている。変数の頭文字が "^" だったらグローバル変数という単純さ。配列のインデックスに文字でもなんでも使える柔軟さ。そしてほとんどのコマンドが一文字というこだわり。(笑)

繰り返しは F I=0 TO 10 なんて書く。FORのFである。GOTO は G である。(笑)


今思い出してみればよくできた言語だった。なにしろ実装がスマートだったし、実用的だった。


リレーショナルデータベースが主流となり、GUIが当たり前となってくるにつれ、使われることがなくなったけれど。


今でもどこかで動いてるんだろうか、MUMPSって。