がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

最近ツボにはまってる言語とその派生

Brainf*ck*1っていう言語があるです。なんていうか…素晴らしい言語です。
多分、ある観点から考えると「現存するなかで最も容易なプログラム言語」であると思われるです。
ちなみに、言語仕様は以下の通り。

  • > ポインタをインクリメントする。ポインタをptrとすると、C言語の「ptr++;」に相当する。
  • < ポインタをデクリメントする。C言語の「ptr--;」に相当。
  • + ポインタが指す値をインクリメントする。C言語の「(*ptr)++;」に相当。
  • - ポインタが指す値をデクリメントする。C言語の「(*ptr)--;」に相当。
  • . ポインタが指す値を出力する。C言語の「putchar(*ptr);」に相当。
  • , 1バイトを入力してポインタが指す値に代入する。C言語の「*ptr=getchar();」に相当。
  • [ ポインタが指す値が0なら、対応する ] までジャンプする。C言語の「while(!*ptr){」に相当。
  • ] ポインタが指す値が0でないなら、対応する [ にジャンプする。C言語の「}」に相当。

どうですかこのストイックっぷりったらあなた!!
ちなみに、以下が有名なる「Hello, world!」のコードです。

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

…最近。変な声が聞こえるデス。
「Brainf*ckでCGI」とか「オブジェクト指向Brainf*ck*2」とか………
…ぶっちゃけ、かなりあがってます(笑

*1:Brainfuck

*2:オブジェクティブ Brainf*ck