プログラミング言語「J」がオープンソースされた

http://jsoftware.com/source.htm

「J」は実用されている言語のなかで一番難解な部類に入るんじゃないだろうか。Jの前身のAPLはギリシャ文字の入力と表示を可能にする特殊環境でなければ使えなかったと読んだ記憶がある。Jはasciiベースになったが、簡潔な表示を追求するために句読点とアルファベットを混ぜた二文字を使っているらしい。数学的な表記で配列を操作するのを得意としているようだ。

コード密度においてAPL/Jを越えるものは無いだろう。なんと一行で「game of life」を実装してしまう: http://catpad.net/michael/apl/ (これはAPLによる)。 その難解度というかとっつき難さも他の追従を許さない。難解を目的として書かれたPerlなど比べ物にならない。詳しくはwikipediaのJ言語ページを。

このJ言語はクローズされた製品だったが、やはり言語は広く使われて初めてその威力を発揮するものだと判断したのだろう。これまではWall Streetの分析がJのニッチだったようだが、これで各種科学の分野に広まるか。

Jと言えば忘れられない思い出がある。当時の同僚--J君と呼ぶことにする--がJ言語を発見した日を今でも鮮明に覚えている。第一次ネットバブルをかろうじて生き延びたドットコムにいたときだ。そこに天才少年プログラマがいた。本物のハッカーだ。その特徴は、まず頭がいい。回転が速いだけでなく難しいものもすんなり理解できる。さらに知識も豊富だ。これだけならただの秀才だ。天才ハッカーと秀才を分けるのは何と言うか「真実に対する忠誠」にあると思う。頭のなかにある理論的な真実の極上主義だ。社会的な現実のような世俗的ことで汚されない神聖な域に理論的真実を位置付けている。

例を挙げよう。駐車する「権利」は車社会のアメリカでは貴重な特権だ。CEOが会社の駐車場の配分に対する不満に静めるために、平等なくじ引きで割り当てるという方針を公表した。その結果、重役の殆どがビル内の駐車場を得る結果になった。平社員は「まあそんなものだろう」と流したが、J君は数百人の社員から十数名の重役が当りを引く可能性をはじき出した。そして全社CCでCEOあてにその可能性の低さを指摘した。全社員の前でCEOを嘘つき呼ばわりしたのだ。確率論の基礎もわかっていないような扱いを受けた侮辱よりも、そこに理論的な間違えが存在していること自体が許せなかったのだ。それを正すためにはクビにされても平気なのだ。こういうハッカーには自分の立場やセコい打算という思考ができないようだ。このような向こう見ずな態度には心が洗われる。

しかし、カッコ良いことばかりではない。駐車場の警備員の口論から喧嘩になり終いには警察に逮捕されるようなバカもやる。その喧嘩のレベルは小学生低学年の校庭の口論ぐらいのものだ。(「君、向うに行きなさい」「いや、お前があっちに行け」…)

彼からはハッカーのありかたみたなものを学んだ。例えばemacs対viという構図はない。lispのときはemacs、設定ファイルの編集はviなどように使い分ける。emacsの略名的なキーバインディングはナンセスでviの無意味だがergonomics面で最適化かれた移動コマンドの方が理にかかっているとか言っていた。確かにそうだ…

一番有益なレッスンは投資に対する心構えだった。当時いたドットコムは第一次バブルの最中に上場した。しかし、殆どのエンジニアやマネージャーは株が紙切れになるまで持ち続けた。良い時期に売り払って儲けたのは俺が知っている限りJ君だけだった。「どうしてバブルが弾けるのがわかったの?」と聞いたら「そんなの予知していなかったよ。ただ投資分散の原理に従っただけだ」と返ってきた。投資を多様化してリスクを制御する。この簡単な理論を感情抜きで行動に移せたのは彼だけだったのだ。富より理論が重要な彼には何の抵抗も無かったのだ。 一方「自分は頭が良い」と思っているエンジニアは色々な理屈で自分の感情(持っていればもっと上る!!)を正当化し一夜にしてその「富」を失なったのだ。感情を抜きに原則を行動に移すことが投資の秘訣ということを体感的に学んだ。その後「株は何も考えず即売りさばく」作戦でちょっと儲けさせてもらった。

ある夜、仕事を終えてエレベータに入ったらJ君が慌てて追ってきた。Jとかいう素晴しい言語を発見したと口から唾を飛しながら訴えている。明かに興奮している。エレベータに足だけ突っ込んでドアをブロックしているだけで入る様子はいっこうにない。ドアが開き閉まりするなか彼はJの素晴しさを語り続ける。「数学のような簡潔な表記で考えを表わせる」「よく使うオペレータは意味のある長い名前なんかつけないで記号として覚えてしまった方が効率がいいからな」… どうやら、オフィスに戻ってJの研究続けるつもりだが、とりあえず俺にその素晴しさを告げたかったようだ。
彼はその後wall streetでJ開発するようになったようだ。使ってみようという気はしないが忘れられない「J」だ。