Wednesday, 23 May 2007

APL




プログラミング言語シリーズ



A Programming Language の略。専用の特別記号でプログラミングする言語。大学の計算機センタには「APL端末」がありました。4.1 BSD Unix あたりにはインタプリタが付属していたはず。X11 には、APLフォントがあったし。今は、Unicode にも入っているらしい。



 http://tinyurl.com/27ttcy



トンデモ言語の一つと評されることが多いが、Fortranを作ったバッカスが、Turing awardの講演で説明した fp は、実は、APLの焼直しだった。さきがけでの研究の一つは、APLみたいな言語をPCクラスタにマップする話だったし。プログラミング言語屋さんにとっては、わりと魅力的な言語です。



言語的には、関数型言語ということになると思う。配列が基本データ構造で、それに対する演算子が豊富にあって、それを右から作用させていくだけ。「APLはポルノと同じだ。t左から右に読めばわかるんだ」とか言った人もいる。



もう、とんでもなく短く書ける言語で、逆行列の計算を5行で書いてあるのを見たことがあります。



そんな言語誰が使うんだ? ってことなんだけど、多次元配列を自由自在に取り扱えるので、IBMの事務員さん達ががんがん使っていたらしい。つまり、今のExcelのような使い方だったわけ。



IBMの事務員さんに関する伝説はいろいろあって、メインフレーム上の電子メールシステムを50年代に使いこなしていたとか、TeXみたいな整形言語を使えたとか... まぁ、今の、MS Office に毒された事務員さんとは全然違う世界だったらしい。どうも、かなは、それに触ったことあるらしいのだが...



というわけで、今でも、APLから抜け出れない(御年配の)人達が結構いるらしい。



このIBMの事務員さん伝説で思うのは、事務員だからプログラム言語はダメで、GUIでなければダメだってわけではないってこと。少し事務員を甘く見てないか? 事務員さんを募集するときに「APLを使えること」ってのを条件にしてやると、少しは...



もっとも、今だったら多次元配列をオブジェクトにして、それに演算子を定義していけば、ほとんど同じことはできるわけなので、それほど重要な言語ってわけでもないです。

No comments: