Short Coding -- コルンさんの場合


Short Codingはそれぞれの問題ごとに各自の思い入れがある。
例えば、コルンさんの場合は、以下のようなものらしい。
mixiに彼が書いていたものを許可を得て転載させてもらう。



Short Coding ~職人達の技法~

マイミクのOzyさん執筆で、これまたマイミクのやねうらおさんが監修を行ったプログラミング関連の本です。


とうとう出版されたみたいで、おめでとうございます。
出版されて何日遅れか分かりませんが、予約していた分がAmazonから届きました。


この本は、ショートコーディングっていう、同じ動作をするプログラムをいかに短い文字数で書くかっていう、実は開発とそんなに関係ない……保守性を重んじる開発とは真逆の方向を行くプログラミングパズルみたいな遊びにスポットライトを当てている本です。


基本的に自己満足が目的のお遊び目的なわけですが、遊びを突き詰めると芸術に昇華される部分がありまして、ショートコーディングにおいて用いられる高位の技術というのは、数学的に高レベルな理論を応用することも多く、ショートコーディングというのは学問として見ても魅力的な側面を持ちます。 (設計的に短くなるのですね)


後輩が一時期楽しそうにやってたので、私も15歳の頃にポケコンBASICでコード縮めていた頃を思い出して参加してみました。(※ポケコンBASICは最適化の入らないインタプリタなので、コードを短くすることが高速化に繋がっていた…あと、メモリもキツキツだったので、ポケコンでクォリティの高いゲームを作ろうとすると短く詰め込む必要があった)
それで、面白がってPKUの数問で最短(Shortest)を取っていってたら、Ozyさんから「とっても短いコードですね」ってメールを貰ったのが、Ozyさんと私との出会いでした。
ショートコーディング技術については、私はそんなに詳しいわけじゃなくて、ガチで短く(つまり設計的に短く)していってたら声をかけられたわけで、私のコードをOzyさんにメールで送ったら、瞬殺で最短を塗り替えられた時はすごく凹んだりもしました。(その縮められた箇所が、ショートコーダーにとっては初歩の初歩の部分だったりして…もぉね、修行が足りなさ過ぎだ自分、と)


まぁそんなわけで、今回出版のShort Coding本は、そんなネットを通して活動している数々のショートコーダーにとって、思い出の一冊となること間違いなしの一冊となっております。
「あ、この問題の最短コード、俺も一部貢献してるんだぜ」って自慢気に本をめくりたくなる人、結構いるのではないでしょうか。


私の場合だと、4-2のJava vs C対決のPKU1001の、ライブラリ付きJavaにライブラリ無しのC言語で迫ろうという企画が一番思い出深いですね。
これって、PKU1001問題の(言語自由の)最短ランキングが1位から20位まで全てJavaで埋め尽くされていることに、どうしても我慢ならなかった私が、テケトーに組んでみたら、当時のC言語の最短であるRiSKさんの319Bよりもかなり短く書けたので、面白がってJava軍団と勝負していたら、RiSKさんが日記にそのことを取り上げてるのを見つけて、更に面白がって短くしていたらOzyさんも乗ってきたっていう、そんなバックストーリーがあります。
私の公開していた235Bコードを元に、私とOzyさんが別々にそれぞれ209Bまで縮めていて、同じバイト数だから本質的に同じコードだろうと思っていたら、実は全然違う技術を使って縮めていたので、それを私がマージして201B……ところがどっこい、Ozyさんが奥の手で更に1バイト縮める方法に気付いて200Bとなりました。


まぁそんなわけで、収録されてる全44問のそれぞれに、本には紹介されていない裏のドラマが隠れているかと思うと、非常に熱い青春の一冊ともなっています。
(当人たちにしか分からないんだけどね)


私は既にショートコーディングからは手を引いていますが、今後ますますのショートコーディングの繁栄を願っています。