魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

じぇじぇじぇのJ言語

ぼくがはじめてJ言語を知ったのはいつだっだろうか。たしか DOSコンソールで動く時代だったと思う。で、ファーストコンタクトは、よくわからん、で終わりだった。

f:id:fxrobot:20141201124117j:plain

それから年月が流れ、いまごろようやくにしてドキュメントと読んでいる。本来ならば、あまり大きなことはいえない立場なのだ。

それにしては前回は大口を叩いたもんだな。まぁ、なにごとも遅くはないということだ。これからちゃんとやればよいだけのこと。

ところでぼくは言語好きだから、パソコン用の電卓として、いろんな言語を使ってきたのだが、これまでは SWI-Prolog がいちばん気に入っていた。うん、そう、それがいまは J言語に代わったのだ。J Term(画像)は、ぼくにピッタリの電卓環境であり、プログラミング言語環境なのだ。

f:id:fxrobot:20141201130919j:plain

J Term は、軽快に起動し、いつだって左上端に同じサイズで登場だ。起動位置やサイズはコンフィグファイルで設定できるのかも知れないが、..たぶん、いまのところはできないのだろう。我慢できなければ、AutoHotKey でやっつければいい。

J言語の言語仕様についてはドキュメントを読むことでかなりわかってきたと思うが、J言語の環境についてはまだわからないことも多いようだ。

さて、J Term からは Ctrl-M によって簡単に下の画像のようなエディタ(Edit)を呼び出すことができる。

f:id:fxrobot:20141201133528j:plain

J言語の環境はバージョンアップによって、気づかないうちにかなり整ってきたんだね。この Edit もそのうち頻繁に使うことになるだろう。

 ところで、Ruby で有名なMもと氏が『「NB.」から改行までがコメントです。 正気とは思えません。 』と曰っていました。また『正直に言わせてもらえば、J はとても読みにくい。 慣れればなんとかなるのでしょうか。』とも。

ぼくもね「1!:2 <'ファイル名'」(J Term の画像)というのなんかは、じぇじぇじぇとなったけど、天才の発想は凡人にはわからないということなのだろう。えっ、まじん氏が凡人なのはわかりますが、Mもと氏も凡人!?ですか。ええ、もちろん、それにはお応えしません。

ああ、そう、それでね、NB. はラテン語 Nota Bene(注目)の略だそうだ。ぼく的にはなんら # に劣るとは思わない。逆に J言語のコメントが # だったらガッカリだよ。それに FORTRAN や Full BASIC のように ! でもやだなぁ。やっぱり NB. がいいよ。

また、J言語が読みにくいというのはそのとおりだと思うけど、馴れればOKだよ。あとね、ぼくは記憶力がわるい上に秀才でもないけど、たぶん Ruby を覚えるよりはかなり楽に早く J言語の記号を覚えられたと思うよ。

しかし、それは、APL の基礎があるからかもしれない。だからぼくは、J言語を覚えたい人には、まずは APL の入門書を読むことをお勧めしたい。サラリーマンの人でも2週間くらいで、多めにみても1ヶ月で読み終え理解できると思う。

ついでに APL についていえば、プログラミング言語の素人の人にこそお勧めできる。ボタンを押せば APL が現れ、あとは APL の世界。コンパイルだリンクだって、なにそれ? For ループだ、While ループだって、バカじゃないのってことになる。

さて、最初から J言語のドキュメントを読むと頭が痛くなるのかも知れないね。それでも APL をスキップして J言語を覚えたい人のためになにかを書こうかとも思うけど、まずはぼく自身が J言語の経験をもっと積まないとね。

積んでからブログ書けって? うん、だけど、これって、いつものことじゃないか。:P

【おまけ】
APL の円関数: 普通は、○A、1○A、2○A、3○A だけ覚えればOKだよね。

f:id:fxrobot:20141201155839j:plain

 J言語もどうように円関数がある。1 o. A というように ○ を o(小文字オー)と .(ピリオド)で表す。上記以外にも 8 o. A ~ 12 o. A 、_8 o. A ~ _12 o. A などまで拡張されている。

これだって、J、J、J、だよね。