1.5冊目おすすめしたい本「Rubyで作る奇妙なプログラミング言語」

yharaさんが「Rubyで作る奇妙なプログラミング言語~Esoteric Language~」という本(通称esolang本)を執筆されました。

Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~

Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~

内容はタイトルの通り珍妙なプログラミング言語Rubyで実装するというもので、HQ9+から始まりBrainf*ck、Whitespace、終いにはオリジナル言語の設計と実装に至ります。


このesolang本、ありがたいことに献本で頂いたのです。なんでdankogaiならぬ私が献本などされるのだろうと不思議に思ったのですが、理由を聞くとどうもこの本が以前私が1000speakersカンファレンスでした話に影響を受けているそうなのです。
ええ、ええ、話しました。「プログラミング初心者はHello Worldを書いたら次はプログラミング言語処理系を実装するんだ、まずはbrainf*ck、次にWhitespaceだ!」などと。そう、プログラミング言語処理系というのは、頭の良い人だけのおもちゃじゃなくて、プログラミング初心者にも楽しめるおもちゃなのです。
以下は録画したものをニコニコ動画にアップしたものです。最初の3分ほど録音できてません。
*1
「yharaさんがbrainf*ckとかについての本を書いたらしい」と聞いたときは、一介のbrainf*ck好きとして嬉しく思っていましたが、まさか自分の話に影響を受けていただなんて。自分の話が誰か他の人にそんな影響を与えることができたと聞いてとても嬉しく思いました。僕自身はこの書籍には全く関わっていないしわけですが、この本が世に出てきてとても嬉しいです。


んで、届いてから読んでいるわけですけど、これは良い本です。
この本は「たのしいプログラミング」とはどういうものか、HQ9+やらbrainf*ckなどの奇妙な言語処理系を題材に解説しています。「たのしいプログラミング」は多くのプログラミング言語書籍で欠けている、表現できていない部分です。帯に"Rubyユーザにとっての「2冊目の本」としてもバッチリ役立ちます"と書いてありますが、私としては1.5冊目としてオススメしたい。つまり「1冊目の本をある程度読んでなんとなく読み書きできるようになったときに取り組む本」です。
動画の中でも少し語ってますけど私はプログラミング書籍を読もうとしても、Hello Worldとか出力できたけど意味わからんし何が嬉しいのかわからんし、とほぼその辺りで挫折する人でした。でなんだか随分長いことHello Worldレベルプログラマの位置でずっと足踏みしていたのですが、ある時出会ったbrainf*ckというプログラムで「なんか実装できたし、これ面白い!」と初めて感じたのです。
そんなわけで私は疑っています。手取り足取り段階を踏んで進んでいく真面目なプログラミング言語の書籍を、ちゃんと読み通すことができる初心者という存在を。プログラミング入門の書籍をちゃんと読み進められない、そんな人には是非このesolang本をオススメしたい。他の書籍を参考書として使いながらesolang本に取り組んでほしい。


esolang本に書かれているプログラムはRubyだが、他の言語で取り組むのも良いでしょう。全国のプログラミング系日記書いてるみなさん、「○○で作る奇妙なプログラミング言語」シリーズをするなら今が旬ですよ!


プログラミングは自分の思ったものを書くことができる便利な技能であるというのは、プログラミングしない人も割と知ってるかもしれません。でもそれだけじゃなくて、便利さとかとは別の次元の「なんかおもしれー」というものがあるのです。その「なんかおもしれー」が存分に詰まっているのがesolang本です。女房を質に入れてでも読むべきとは言いませんが、財布に余裕があるなら一冊買ってみるのも良いのではないでしょうか。

*1:日記に貼るにあたって久しぶりに再見したけど、だいぶ無茶苦茶言ってるなーこの人は。なんだよ妹とか女子高生とかLive少子化対策とか。いねえよ妹なんて

test