特集
» 2008年01月21日 00時00分 UPDATE

New Generation Chronicle:amachang―メランコリックな渋谷系Javascriptハッカー (1/3)

常に明るく振る舞うその裏で、理想と現実のかい離を常に思い悩み続けてきたamachang。幾つもの伝説を持つ一風変わった渋谷系ライフハッカーに「New Generation Chronicle」のWeb2.0系スレッドを継承していただいた。

[西尾泰三,ITmedia]
dropdb_p.gifamachang_p.gif 「New Generation Chronicle:Web2.0スレッド」これまでの登場人物

 天野仁史――インターネット上ではamachangとして知られる彼は、1982年1月7日生まれの26歳。「才能も、知識も、常識もなかった。プログラミングやPCに出会っていなければ、確実にニート」そう語る彼は、座右の銘であるという「ただただ、がむしゃらにソフト開発をしていたい」を実践し続けた結果、この連載のマエストロスレッドでも取り上げた小飼弾氏に「Javascriptは彼に教わったようなもの」と言わしめるほどJavascriptの世界では知られた存在となった。どのブラウザでもDOM 3 XPathを利用可能にする「JavaScript-XPath」の開発が代表的だが、日々「IT戦記」でつづられる内容は、JavaScriptを扱う方には新たな発見が得られるものも少なくない。

amachang あだ名を付けられるなら“生徒会長”

 決して優等生なタイプではない。常に明るく振る舞うその裏では、理想と現実の自分があまりにかい離していることを常に思い悩み続けてきた。斉藤のり子さんにはじまった「New Generation Chronicle」のWeb2.0系スレッドを引き継ぐのは、哲学する渋谷系ライフハッカー、amachangである。ここでは、amachangにお願いした100の質問の回答からピックアップしたものをお届けしよう。なお、文中に登場する「><」は、タグの閉じ忘れでも何でもなく、彼がよく使用する顔文字である。

2つの言語を知ることでJavascriptが理解できた

―― 現在、ブラウザ、メーラー、テキストエディタはそれぞれどんなものを?

それぞれFirefox、Gmail、vimです。FirefoxのエクステンションはFirebugがなければもう生きていけません><

 基本的に開発はvimとsvnを使って行い、JavaのときだけEclipseを利用するといった具合です。「vim」「Firefox」「Firebug」は僕にとって開発の3種の神器で、FirefoxとFirebugのコンボは自分にとってなくてはならないもの。

 今はノートとデスクトップを1台ずつ使っていますが、PCは自作したことがないので、どちらも市販のものです。OSはWindows XPとMac OS Xで、スペックはそれぞれこんな感じ。

  ノート デスクトップ
CPU Pentium M 1.73GHz デュアルコアXeon 3GHz×2
メモリ 2Gバイト 2Gバイト
OS Windows XP Professional Mac OS X 10.4
fig5.jpg 過去のamachang。友人たちとの「人生で一番楽しかった」日々

―― はじめてPCに触れたころの思い出を。

小学校3年くらいのとき、父が持っていたPC-9801 LVでゲームをしていた覚えがあります。プログラミングを始めたのは時期的にはWindows 2000のころで、最初に触れた言語はC。学んだというよりは、「触れた」という程度。そもそも、得意な教科もないし、勉強もできない。大学を出なくとも、卒業時点である程度就職できればいいか、というくらいの軽い気持ちで石川工業高等専門学校に決めたくらいで、今のようにプログラミングの世界にどっぷりつかるとはまるで思わなかった。

 JNI(Java Native Interface)を使って社内ライブラリにJavaのAPIを作っのが一番最初に作成したプログラム。Javascriptをまじめに勉強し始めたのは、最初の就職先からガイアックスに転職する間です。最初の就職先では給料が上がるというのでXMLマスターの資格を取りましたが、試験の問題でDOMについての問題があったことなどもあり、Javascriptをかろうじて理解できました。

 といっても、最初のころはまさに知ったフリをしているような状態で、Javascriptを本当に理解できるようになったのは、Perlを知ってからでした。ガイアックスに入った後、必要に迫られてPerlに触れると、2つの言語で共通している部分、それぞれにしかない部分などがみえてきました。僕は、JavascriptとPerl、2つの言語を知ることで、言語ごとの差異を理解し、それが結果的にJavascriptを深く知ることにつながったのです。

 今はもっぱらJavaScript。シンプルさに引かれています。関数がファーストクラスオブジェクトで、シンボルがすべてプロパティ名というところが分かりやすい。付け加えるなら、クラスよりプロトタイプが好きです。

―― 理解するのに苦労したコンピュータ関連のトピックは?

ダイナミックスコープの概念が難しかったです。あと、関数プログラムの構造化を行うモナド(monad)。こちらはいろいろ調べてはいるのですが、いまだに理解できていません。

―― 自分のコーディングにクセやこだわりはありますか?

シンボル(変数や関数の名前)をなるべく使わないことですかね。

―― キーボードなど入力デバイスのこだわりは?

特にありませんが、少し前まではトラックボールが好きでした。

―― できるだけキーボードで操作を済ませたいタイプですか?

済ませたいですねー>< シェルまんせーです><

―― 今興味がある知識や技術はありますか?

人工知能関連のトピックです。自分が興味のあるものをサジェストしてくれるようなAIをプログラミングしてみたい。

―― 今の自分が形成される上で最も影響があったと思う出来事は?

金沢の仲間たちの存在。

fig4.jpg Lightweight Languageの世界などで名が知られる1981年世代のみなさん。技術の垣根を越えて仲がよいのもこの世代の特徴といえるかもしれない。「ギークはLightweight Languageな感じでLピース」という斉藤のり子さんの呼びかけでポーズ。amachangと同じサイボウズ・ラボで働く西尾泰和さんだけキツネが恋しかったようです
       1|2|3 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ