いつクリはてブロ

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

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

個人的な経験をもとにプログラミング言語を擬人化すると、C言語の場合、それはまるで呪いのごとく付きまとう腐れ縁の幼馴染である。

プログラミングへの興味は小学生の頃からあり、またプログラミングといったらC言語*1ということも分かっていたが、残念ながら当時の僕はコンパイルという概念が理解できていなかったので、プログラミング童貞はJS姉に捧げることになったのであった。

中学の間にCとプログラミングをする機会はあったものの、そのときの印象は、彼女は古風で礼儀作法にうるさく、些細なことでへそを曲げ、好き勝手させてくれないという印象だった。
すこぶる自分勝手だが、なにぶんJS姉と比べるとえらく窮屈だったのだ。
(JS姉がいろいろ特別だったということを知るのは、もっと後の話である)

高校の頃にも、部活で参加したパソコン甲子園のためにCの力を借りることになったこともあったが、やはり彼女が苦手なのは変わらなかった。
非常に記憶に残っているのが、文字列の操作である。
JS姉は動的型付け言語で、それが当たり前だと思っていた僕は、char型の、配列が、ポインタで、というようなことを頭に思い浮かべただけで、ひどい頭痛に襲われ、ディスプレイを直視できなくなるのだった。
そのせいでパソコン甲子園のチームメンバーには迷惑を掛けてしまったことを今でも覚えている。

ゲームを作りたくてプログラミングを始めた僕は、CUIプログラミングに価値を見出だせず、結局僕は彼女を苦手な存在のままで置いておくことを選んだのである。

そのように苦手意識の塊だった彼女は、大学に入ると今度は授業にまで出てきた!
今度ばかりは苦手などと言っていられないと覚悟した僕は、彼女を征服すべく、プログラミングに没頭した。
そのおかげで多少は書けるようになったのだが、今度は授業自体が物足りなくなってしまった。
最初の頃は大学に入ってから覚えた麻雀の一人打ちプログラムを書いたりして授業中の暇を潰していたのだが*2、段々と授業そのものに出なくなってしまったのだった。

そんなわけで大学に入った後もなんだか苦手という印象を捨て切れないまま、彼女と距離を置いてきたのだが、数年後に転機が訪れた。

C言語勉強したけどゲーム作れないぞコラって人向けに
本当はコピペブログで読んだのだが、ブログがなくなっているので元スレを。

ライブラリとIDEを導入すればGUIプログラミングができるということが分かった僕は、すぐに飛びついた。
そのとき僕は初めて、ブラウザでしか動かせなかったゲームを、単体のアプリケーションとして動かすことに成功したのである。*3
感動した僕はその勢いで行けるところまで行こうと思い、コミティアで自作ゲームを頒布するというところまでやった。
僕は彼女の凄さを知らずに過ごしてきて、勝手に苦手と思っていただけだったのだ。

彼女に救われたのはこのときだけではない。
ゲームを作った経験から多少自信がついた僕は、プログラマのアルバイトを始めることにしたのだが、そのアルバイト先でもまたC言語を使うことになったのである。*4
僕はそのとき、組み込み系の現場ではまだまだCが現役であることを知った。
そのときの彼女の「どう? 私って役に立つでしょう?」という勝ち誇った顔に、僕はただただ敗北感を味合わされた。

よほどの腐れ縁なのか、僕は現在進行形で、今も彼女に付きまとわれている。
僕は今までずっとおろそかにしていた授業の単位を取ろうと思い、彼女がTAを務める授業に出席しているのだ。
「これくらいならすぐできるよね?」と挑発的な顔で僕を見てくるのが最高に腹が立つが、売られた喧嘩は買ってやろう。

僕は今も彼女を考え方の古い時代遅れな奴だと思っているし、中高生の頃から引きずる苦手意識もいまだ消えていないのだが、多分これからもなんだかんだで彼女との関係は続く気がしている。
何故なら、どうやら否定しようもなく、僕は彼女とのプログラミングを楽しいと感じているからだ。

*1:今となっては最初にその名前を知ったのがいつどこでだったかは覚えていないが、『A・Iが止まらない!』のサーティがC言語で作られていて、その辺がきっかけの可能性がある。

*2:計算機室での授業だったので、エディタに向かうことを強いられていた。

*3:実際はひまわりやHSPのことは知っていたが、実用的とは思えなかった。

*4:このバイト先では2週間ごとに使用する言語が変わり、大体4,5種類の言語での開発を要求されたのだが、その話はまたの機会に。