brainf*ck講座第一回 - 導入 -
brainf*ckというプログラミング言語をご存知でしょうか?
プログラマなら一度は話に聞いた事があるのではないでしょうか。
席指揮にはbrainfuckという名前ですが、名前的に問題があるという事で、
brainf*ckと表記します。読み方は「ブレインファック」。
brainf*ckはどのようなプログラミング言語かと言いますと、
下記に示す8つの命令のみで構成された言語です。
俗に言う難読言語というものです。
- >・・・ポインタをインクリメントする
- <・・・ポインタをデクリメントする
- +・・・ポインタが指す値をインクリメントする
- -・・・ポインタが指す値をデクリメントする
- .・・・ポインタが指す値を出力する
- ,・・・1バイトを入力してポインタが指す値に代入する
- [・・・ポインタが指す値が0なら対応する]の直後までジャンプする
- ]・・・ポインタが指す値が0でないなら、対応する[にジャンプする
ちなみに筆者が認定した三大難解言語は、
brainf*ck、whitespace、Befungeです。
機会があれば他の言語も解説します。
で、実際にbranf*ckでHello,worldを出力するプログラムは下記になります。
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.
パッと見たところは何が何やらわかりません。
しかし、これもしっかりと読めば理解ができるのです。
というわけで次回以降からbrainf*ckの解説をしていきたいと思います。