カメヲラボ

主にプログラミングとお勉強全般について書いてます

ショートコーディング本

Amazonで調べると、どうやら8月9日に発売されるようです。著者なのに知りませんでした(;´Д`)
というわけで宜しくお願い致します。

MYCOM BOOKSのサイトに内容の紹介と、少し間違った目次があります。
http://book.mycom.co.jp/book/978-4-8399-2523-9/978-4-8399-2523-9.shtml

詳細は後日ということで、とりあえず発表!!

  • 追記

内容は、これまで(2005年11月〜つい最近まで)積み重ねてきたコード短縮技術のほぼ*1すべてと、これから大きく成長してゆく若いプログラマの皆さんへのメッセージです。一般的に、良い本を書こうと思えば自分の持っているスキルの50%以下の内容にとどめておくべきです。そうでなければ説明が不十分であったり、間違いが出てきてしまうからです。しかし私はプロのライターではありません。もしかしたらこれが最後のチャンスかもしれませんし、とにかく書きたいことはすべて書くつもりで取り組みました。

第1章は、ショートコーディングという言葉自体が初めてという方を想定して書きました。前半はショートコーディング、オンラインジャッジシステムの説明をしました。後半は、POJの比較的簡単な問題を取り上げ、具体的なコード短縮例を見てもらうようにしています。

第2章は「これでもか」と言わんばかりに、コード短縮テクニックを紹介します。規則性についての問題から始まり、qsort関数Hack、標準関数を利用し尽くしたショートコード、たった1文字の演算子によってコーダが短縮される美しさや、ビット演算、ポインタ等、私が300問以上取り組んだ中から厳選に厳選を重ねた問題を元に解説しています。

第3章は、第2章の発展的内容(すでに2章自体が十分難解かもしれませんが)で、複数のループ文を凝縮する手順や、伝説の1145を含めたmain再帰の具体例、shinhさんの編み出したバイナリ埋め込みコード、hinoeさんと挑んだ難問のショートコーディング記録等、後にも先にも「こんなこと誰も書かんだろうな」ということを詰め込みました。

第4章は、第2・3章はC言語に関するショートコーディングテクニックでしたが、POJで他に使用可能なC++/G++、JavaPascalのショートコーディングを行い、それらとC/GCCのコードとの対決という形でショートコーディングを描きました。最後はPOJから離れ、本格的Code Golfにチャレンジできるように、つい先日流行ったFizzBuzzを例にコード短縮しながらanarch golfの紹介をしています。

第5章は、本来ならば技術系の書籍に必要ないのかもしれない、私の考えや読者の皆さんに対するメッセージにページを割いています。この書籍を発表するまでに、どれだけの人が関わり、どのようなドラマがあったのかを、一つの歴史として残しておきたいという、私の願いがありました。「Short Coding 〜職人達の技法〜」は技術書であり、歴史書でもあり、ショートコーダーそのものでもあります。

※また追記します。
http://d.hatena.ne.jp/Ozy/20070730#p1
へ続く

*1:セキュリティに関わることの大半は、意図的にカットしてあります