道具に頼るのが嫌になったのですね?それで原始人みたいな生活ですか?

リポーター「この森には自然崇拝を教義とする宗教家の一団が暮らしています。どのような生活なのかお伝えしたいと思います。」*1

教主のインタビュー

リ「そもそもどういった経緯で生まれてきた教義なのでしょうか?」
教主「我々人類は、科学技術を高度に発展させてきました。高度化しすぎてしまった。我々は技術の発展とともに力を失ってきたのです。」
リ「たとえばどのような力ですか?」
教「あなたは今日の昼食をどうやって食べましたか?」
リ「えーと、途中の定食屋で食べてきましたが…」
教「自炊はなさいますか?」
リ「いやー。お恥ずかしながらコンビニに頼り切りですね」
教「あなたは、生物としての基本的な能力、餌をとって食べるという能力が大きく欠如しているのです。もし、世界に災いが降りかかり、定食屋なんて営業できなくなったら、あなたはどこで食事をするのでしょう?コンビニがなかったら弁当を買うこともできません。そうなったらあなたは飢え死にしてしまうでしょう」
リ「便利になった社会システムに頼って食事をとる能力が失われたと?」
教「そうです。それは食事だけに限りません。仕事もそうです。我々人類は道具がないと仕事もできなくなってしまった。工場での仕事は電気が止まれば何もできません。我々は力を失ったのです」

教主のやっていた仕事

リ「以前はどういった仕事をなされていたのですか?」
教「私はこの教団を立ち上げるまではプログラマーをしていました。EclipseJavaの開発をしていたんです」
リ「技術の先端に近い分野ですね」
教「そうです。技術革新は凄まじく、プログラマは高度なIDEを用いて高度なプログラムを書いていました。でも、それは道具があったからこそなのです」
リ「道具がなければ何もできないと?」
教「自動補完がないエディタで万単位のクラス、10万単位のメソッドという膨大なAPIのリファレンスを辞書のように引きながらではプログラムなんてやってられないのです」
リ「暗記できる量ではありませんね」
教「本に製本したらハードカバー10冊程度*2になるソースコードを読み、解析し、修正するには複数のファイルを自在に飛びまわれるエディタが不可欠です。しかもこの分量は5人で1年程度で作ったシステムの分量です」
リ「随分多いんですね」
教「あなたは10冊のハードカバーの物語を読んで、8巻で3巻のところの話を蒸し返していたときに、読者がその物語を詳細に覚えていないと物語が理解できないような作りになっていたらどう思いますか?」
リ「それは困りますね。3巻の該当の物語を読み返すでもしないことには読み進めませんね」
教「学校の試験で小論文というのがあったでしょう?覚えていますか」
リ「えぇ。苦労して文字数制限をクリアしようと必死でした」
教「原稿用紙に鉛筆書きでしょう?途中まで書いて文章の構成を間違えたと思ったら大変な目にあう。推敲して構成を変えるなんてのは原稿用紙に鉛筆書きではとてもできません」
リ「テキストエディタならそれができるんですね」
教「プログラムの推敲はもっと複雑です。物語の主人公の名前を変えることをイメージしてみてください。10冊分の文章から主人公の名前を探して全部置き換えるのです」
リ「それは大変すぎます。名前は最初に決めないとだめですね」
教「それをあとから一括して変えられる、そんな世界に私はいたのです。書き間違えたところは機械が間違っていると指摘してくれました。とても便利でした。しかし、それではだめだということを経験することになりました」

教主を変えた出来事

リ「何があったのですか?」
教「ある日、私はデータセンターにいました。外部のネットワークから隔絶された世界です。システムの入ったLinuxサーバにtelnetで繋いで配備作業をしていたのです。同僚が配備されたシステムの動作確認を行っていて、バグを発見してしまったのです」
リ「最後の最後でミスが見つかった?」
教「えぇ。我々はあわてました。バグ自体は軽微なものでしたから、その場で修正してコンパイルして再配備しようということになりました。私は…。viなんてラインエディタを操る技能は持ってませんでした。現代の便利なエディタのように直観的に操作できるものではないのです」
リ「どうされたのですか?」
教「同僚が作業をしてくれました。彼はgrepで該当ファイルを探し出し、viで修正し、antでビルドしてくれました。我々のプロジェクトは無事にリリースできたのですが、その時に私は考えを変えたのです」
リ「同僚の作業に触発されたのですね」
教「彼は高度なIDEをかたくなに使おうとせず、数10個程度のクラスが混在したソースを見るのにとても時間をかけ、しかもバグが多く生産性は全く低いものでした。しかし、極限の環境で生きられたのは彼なのです」
リ「道具に頼るのが嫌になったのですね?それで原始人みたいな生活ですか?」

*1:本稿はEclipseからテキストエディタに戻れない10の理由 - プログラマーの脳みそを題材としたネタである。

*2:1冊10万字換算。ソース全体で1M byteの場合、全部ASCII文字だとして100万文字ということになる