美しいコードに鼻血をふいてもいいですか?
◆「萌え」、それを定義するのは難しい
今月のお題は「萌えテクノロジ」とのことです。エンジニアライフでコラムを書き始めて1年経ちますが、月を重ねるごとにお題が難しくなっている気がします。いや、難しい方が書いていて楽しいのですが。その代わり、ネタ出しにすごく時間がかかるので、ご迷惑をかけています。多方面に。
「萌え」の定義を、私はよく知りません。「かわいい」とかとは違うものなんだろうなぁ……とは思っています。このコラムは完全にオフラインで執筆しているため、調べる手段がないのでこのあたりの定義やらなにやらは省きます。なので、多少解釈がまちがっていても、多めに見てください。Wikipediaほどの博識ではないので(そりゃそうだ)。
◆そんなわけで私の「萌えテクノロジ」
少し趣旨がずれてしまうかもしれませんが、個人的に萌えるのは「ライブコーディング」です。
ライブコーディングというのは、文字通り「その場で行うコーディング」です。かっこよく言うと「コーディング生放送」といった感じでしょうか(あんまりかっこよくないですが)。
プレゼンテーションなどで行われることもあります。
登壇者がいきなりコーディングを始めるという、高尚なパフォーマンスなのですが(こういうのを最近はエクストリームスポーツというんでしょうか? 知らないですけど)。
私がこのパフォーマンスに「萌え」を感じたのは、どこかのセミナーや勉強会ではありません。そういうところでなくとも、ライブコーディングは見れるのです。
◆私があなたに萌えた場所
それは、会社という極めて身近な場所でした。
何回も書きますが、転職いたしまして。配属部署はとにかくプログラミングするところなので、私は毎日プログラミングをしています。
しかし、何年か離れていたのでうまく組めず。うまく形容できませんが、自分の書くコードは「イケてない」のですよね。そこで先輩に駄目出ししてもらうことがありまして。
「あのー、ここのメソッドの使い方がよく分からないので説明していただきたいのですが」
「あぁ、いいけど……」
と、説明をしていただいた時のことです。それまでドキュメント作成をしていた先輩の姿しかみたことがなかったのですが、Eclipseを立ち上げた瞬間に先輩の手つきが変わりました。
「えーとね、このクラスはこうなってこうなって……」
先輩はゆっくりと話す人なのですが、その口調とは裏腹に恐ろしい速度で手を動かしていました。
「だから、ここはこうなって……」
明らかに話すよりもコーディングの方が速いのです。
瞬きしている間に、組み上がっていくプログラム。
先輩の動作には無駄など一切ありませんでした。
ショートカットなどを駆使して音速で組まれるプログラム。
わずか30秒後に「っていう感じのコードがいいと思う」と、さらっと1クラス作ってしまわれました。
コードにして70行ぐらいでしょうか。自動生成の部分は多いですが、それでもそのメソッドを説明するには十分な量でした。
◆「鼻血、ふいてもいいですか?」
出来上がったコードはどこにもツッコミどころ(例えば、変数名がちょっとおかしいとか、遊び心があるとか)がありません。
そのコードを組み上げた先輩の前で思わず、
「やべ、鼻血ふきそう」
と言ってしまいました。もちろん、小声で。
たぶん、私の人生の中では初めてです。人のライブコーディングを見て鼻血をふきそうになったのは。
それも「会社」という身近な場所で。すべてが輝いて見えたといえばいいのか、一言で言うのなら「ライブコーディング、かっこいい」です。
◆萌えポイントの解説
ですが、ライブコーディングならどんなものでもいいとは思いません。私が鼻血をふきそうなったポイントはこれだと思います。
「なんとなく自分もついていけそうな気がする」
例えばその先輩が同じ動作を私が知らない別の言語でやっていたとしても萌えはしないのです。
自分が分かる言語で行われるから萌えるのです。私の理解の範疇を超えている言語であれば「なんかすごいなぁ……」ぐらいにしか思いません。
そのコードの意味がなんとなく理解できるからこそ「かっこいい」というのが分かるのです。
とはいえ、いつか自分もこの先輩の領域になれればいいなーと思っているので、それは「萌え」とは違うかもしれませんが……(「萌え」と「憧れ」はそれはそれで違うのですよね。たぶんきっと)。
◆好きですよ?
いや、えーと、一応先輩と私の名誉のために書いておきますが、先輩に萌えているのではなく、先輩のコーディング力に萌えてます。いやはや、かっこいいコーディングができる先輩に出会えて幸せです。いや、本当に。
というわけで、毎日萌えテクノロジと接しながら仕事をしています。いつ鼻血をふいてやろうかと思っていますが。
コメント
虚人
いつか、鼻血を噴かせてくださいねぇ~