難解言語本をもらっちゃった

こないだ気になると言った難解言語本 (isbn:4839927847) ですが、なんと著者の yhara さんから献本してもらってしまいました。ありがとうございます。昨日届いて、一気に読みました。初めて読む Ruby の本がこれだよ!

以下の 3 部構成でした。

  • HQ9+ 、brainfuck 、whitespace の紹介と、Ruby での実装のしかた
  • yhara さん自作の難解言語 Starry と Bolic の紹介と、Ruby での実装のしかた
  • 他の難解言語 13 個の紹介

「難解言語なんて勉強しても何の役にも立たない」と考えてる人は結構いそうですが、難解言語は実は「プログラムとは何か」や「計算とは何か」という深遠なテーマにつながってます。いや、ほんとに。なので、難解言語を全然知らない人は読むといいです。そして一緒に時間を無駄にしましょう。
あと適宜練習問題もあるので、「Ruby の勉強を始めたので、何かプログラムを書くネタが欲しい」とかいう人にもいいんですかね。たぶん。他の Ruby の本を一冊も読んだことがないので比較できませんが。

ちなみに、こんな役立たずなぼくが献本されちゃったのは

だそうです。なんでも書いてみるものです (笑)


ところで、Starry は素直にチューリング完全にできないと思うんだけど、気のせい? 「push」「pop」「先頭 1 つの dup」「先頭 2 つの swap」「先頭 3 つの rotate」「先頭 2 つの四則演算+剰余」だけじゃ brainfuckエンコードできないよね。整数が必ず多倍長だと仮定していいなら、一応できるけど。

*1:でも `cd や `dd が動かないとかいろいろバグを指摘されてしまった。手元では直した (と思う) ので、そのうち別の記事として書きます。