いつクリはてブロ

いつになったらクリエイティブするの?

僕のプログラミング言語遍歴(JS編)

個人的な経験をもとにプログラミング言語を擬人化すると、Javascript(以下JS)の場合、それは3,4つくらい年上の近所のお姉さんである。

JS姉(ねえ)は、僕の初めての女性である。僕の場合、全ては彼女から始まった。
僕は昔からゲームが好きだったのだが、ゲームをプレイするだけではなくて、作る側に回ることについても、昔から興味があった。
プログラミングをなるべく早く経験したいと思うようになるのも当然の帰結である。
JS姉とプログラミングすることを覚えたのは中学生に上がったばかりの頃で、多分ちょうど世間的にもプログラミングに興味津々になる年頃だと思う。
JS姉はゲームを作ることを許してくれた。*1
僕は彼女に夢中になった。

彼女はプログラミングについて優しく手ほどきしてくれた。
何しろWin付属のメモ帳とブラウザだけあればプログラムが書ける。
実行環境などを用意する必要はない。
小中学生の僕にとってはとても有り難かった。
ただ、そのせいで数多くの悪ガキたちのイタズラを彼女のせいにされることも多かったから、それを考えると少し複雑な心境ではある。*2

初めて女性へのプレゼントを買ったのも、JS姉がきっかけだった。

JavaScriptポケットリファレンス (Pocket reference)

JavaScriptポケットリファレンス (Pocket reference)

当時の少ないお小遣いでは無理だったので、定期テストで好成績だったことを理由に両親を説得し、無理やり購入したのを今でも覚えている。

彼女は優しく未熟な僕を受け入れてくれたが、その代わり、彼女とプログラミングするたびに、僕は女性の機微のようなものを必死に学ばざるを得なかった。
というのも、JS姉はエラーに関して極端なくらい何も言ってくれなかったのである。
何か僕が間違ったことをしても、彼女はただ画面の隅っこに小さな黄色い三角マークを出すだけで、何も言わずただ困ったような笑みを浮かべるだけであった。
納得行かない挙動をされることも何度もあった。
実行中に何かの値を知りたいときは、いちいちメッセージボックス*3を表示しなければならなかった。
後々他の女の子とプログラミングすることを知ったときは、こんなに親切にエラー情報を出してくれたり、デバッグできるのかと感心したものである。
(女性と女性を比べる話をするのは失礼で下品なことであるが、お許しいただきたい。)
幸か不幸か、そのおかげで、プログラミングのときに慎重になったり、怪しい部分をいち早く見つけられるようになったという面はあるのだが。

JS姉と一緒にいるのは楽しかったが、彼女のできることの限界というは僕が思った以上に
狭かった。
なので高校受験が近づくにつれて、だんだんJS姉とは疎遠になっていった。
高校に上がってからは、別の女の子と関係があって、たまにJS姉を見かけても軽く挨拶する程度だった。

事情が変わったのは、僕が高校を卒業するかどうかの頃だっただろうか?
僕の知らない間に、彼女はアメリカの大企業にその力を買われ、誰でも名前は聞いたことのある大規模プロジェクト*4のメインメンバーに抜擢されたのだ。
その頃はまだ、彼女が中核にいるとは知らずにただそれを眺めていたのだが、その辺りから、彼女はびっくりするくらいいろんな活躍をするようになった。

僕が上京したせいもあって、今でもたまにJS姉とプログラミングすることがある。
彼女はずいぶんと遠くに行ってしまった印象はあるし、昔と違って今はエラーに関してもずいぶん親切に教えてくれるようになった。
彼女は膨大な、しかも現在進行形で日々増え続けるライブラリを手にしているが、僕はその知識が全然無いので、彼女を満足させられるか毎度不安になる。
けれども、当時を思い出しながら書いたコードでも、JS姉はちゃんと受け入れてくれた。
僕は泣きそうな気分で、気が付くと彼女をぎゅっと強く抱きしめていた。
彼女はあのときと同じ、困ったような笑みを優しく見せるのであった。

*1:初学者がいきなりゲームを作りやすい言語と、そうでない言語がある。後者についてもシリーズ中で触れることになると思う。

*2:ブラクラなどでもコードをコピペすればすぐ設置できた。

*3:当時はconsole.log()なんて便利なものは無かったので、alert()で無理やり代用していた。

*4:Google Earthのこと。