本文へスキップ
totonoe.tech

No.01 ・ 記号系

Brainfuck

= 命令が8つだけの言語

読みにくさ
●●●○○
書きにくさ
●●●●
誕生年
1993年
作者
Urban Müller
生まれた国
スイス
学べること
8つの命令だけで、計算できることはすべて計算できるということ(チューリング完全)

どんな言語か

「プログラムを読みとる仕組みを、できるだけ小さくつくりたい」という発想から、1993年に作られました。

使う記号は > < + - . , [ ]8つだけです。それ以外の文字はすべて無視されるため、そのままコメントとして書き込めます。

それでも、この8つの命令だけで計算できることはすべて計算できます。足し算も引き算も、原理上はどんなプログラムでも書けます。ただし、記述にかかる手間は非常に大きくなります。

メモリは、一列に並んだマスの列(テープ)として扱います。> < でテープ上を左右に移動し、+ - でマスの中の数を増減します。. でその数を文字として画面に出力します。仕組みはこれだけです。

コード例(全文)

Hello World!

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]
>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

その場で実行する

このページの中だけで動きます。入力したコードはサーバーへ送られません。

上のコード例をそのまま実行します。

ボタンを押すと、ここに出力が出ます。
自分のコードを実行 ブラウザ内で実行・送信ゼロ

使える記号は > < + - . , [ ] の8つだけです。それ以外の文字はすべて無視されるため、コメントを書き込んでも問題ありません。

ボタンを押すと、ここに出力が出ます。

試しに: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. と書くと、+の数だけ値が進み、その文字が出力されます。

もっとじっくり書きたいときは Brainfuck の実行環境 へどうぞ。

ひとこと

命令の少なさだけを見ると単純に見えますが、8つの命令だけで計算できることはすべて計算できます(チューリング完全)。実装のしやすさを最優先にした設計のため、書く側の負担はそのぶん大きくなります。

もっとくわしく(外部サイト): https://esolangs.org/wiki/Brainfuck

← エソラング図鑑トップへ

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト