書籍『あなたの知らない超絶技巧プログラミングの世界』が 9 月 25 日に発売されます

以前告知していた書籍が、無事発売されることになりました!(技術評論社の公式ページ

どんな本?

テーマは「役に立たないプログラミングを楽しもう」です。言葉で説明するよりプログラム例を見た方が分かりやすいと思うので、代表的な過去作品にリンクしておきます。

こういうプログラムがいっぱい載ってます。これらを見て「面白い!」「どうやって作ったのか知りたい!」と思った人は、迷わず買ってください。簡単な解説とともに、すべてがそこに書かれています(やや誇張)。「何の役に立つの?」と思った人も、読んでもらえれば案外発見があるんじゃないかなあ。

内容的には二部構成になってます。

  • 前半(1 章):プログラム例の紹介。上で紹介したプログラムを含めて、約 40 点が掲載されています *1 。新作も 8 つほどあります。(参考情報:一部の新作を FTD で先行公開予定です)
  • 後半(2〜8 章):役に立たない実装テクニックを解説しています。アスキーアート化、自己複製プログラム(Quine)、文字縛りプログラミングなど、事細かに説明しています。アスキーアートの自動生成、PNG 画像を自力生成する方法、音楽再生などは、ひょっとしたら実生活で役立つこともあるかも。

詳しくは、技術評論社の公式サイトの目次をみてください。まつもとゆきひろさんに書いて頂いた序文(名文)もサイトに載ってます(参考発言)。追記:サイトには載ってませんでした。ぜひ本でみてください。

もう少し真面目に紹介

面白そうだけど、使う機会がなくて敬遠してる技術や理論ってありますよね。データ圧縮とか、画像フォーマットとか、チューリング完全とか。そういうのを楽しみながら学ぶきっかけとして、超絶技巧プログラミングはいいのではないかなあと思ってます。

本書で紹介するようなプログラムを作ろうとすると、その手の理論や技術の本質的な理解が試されます。耳学問では歯が立ちません。たとえば、画像を出力するプログラムを作るには画像フォーマットを知らないとダメですし、プログラムにデータを持たせたいときはデータ圧縮して実際に縮んでいくところを目の当たりにできます。

そうして覚えて何かの役に立つかというと、やっぱり役に立つことはなかなかないと思うのですが、いいじゃないですか。それで豊かな気持ちや達成感が得られれば。勉強とか研究ってそういうものだと思います。人生は有限だからこそ、楽しみながら学ぶ機会を得て、充実感を味わうことは大切だと思います。*2

……偉そうなことをごちゃごちゃ言いましたが、所詮は上述のような内容です。この本から有益なことは何も学べないでしょう。実生活に役立つ情報のない本は、文芸作品ではフツーですが、コンピュータ書籍では世界初かも? 「役に立つかどうかとか考えなくてもプログラミングは楽しいよ!」ということを伝えたくて書きました。

あと裏テーマとして、メディアアートの分野の人たちに、「プログラミングはアートを作るための手段ではなく、プログラミングそのものがアートの対象になるのでは?」という提案の意味も少しだけこめています。なのでそういう人たちも買ってください。

ということで

ぜひ、買ってください!

*1:多くはこのはてな日記に載っているものですが、どこぞの会議だけで発表したものとかあるので、一冊にまとまっているのは貴重かもしれません。

*2:なお、本書自体はチューリング完全とか圧縮アルゴリズムとかの話をちゃんと説明しているわけではないです。あくまできっかけ提供。