BrainF*ckのススメ

 BrainF*ckをご存じですか?

 本来、*の部分にはuが入るのですが、あまりいい単語ではないので、伏せ字にするのが通例だそうです。
 BrainF*ckは『> < + - . , [ ]』の8文字だけを使用するプログラミング言語です。

 ちなみにプログラミングの最初にやるであろう「Hello, world!」は下記のようになります。




 魚の骨にしか見えないこの謎の文字列がきちんとプログラムになっています。
 下記の(サイボウズラボの奥さんの)サイトにて、実行することが可能です。

Kazuho@Cybozu Labs: Re: BF2JS opimizing compiler
http://labs.cybozu.co.jp/blog/kazuho/archives/2006/07/re_bf2js.php

 試しに上の「Hello, world!」も実行すると表示される事がわかります。



 さて、同じくサイボウズラボの竹迫さんによると「最もタメになる初心者用言語はBrainF*ck」とのことで、確かコンピューターの内部動作を直に体験できるBrainF*ckはとてもいい言語だと思います。


 ところで、

 あと「自分の学籍番号(もしくははてなid)を出力するプログラムをBrainf*ckで作成せよ」という課題を学校で出したら解答をコピペできないから学生さんの教育用言語としても最適。自分の頭でチューリングマシンの動作と、人間とコンピュータの限界を考えることができるようになります。

最もタメになる「初心者用言語」は Brainf*ck! - TAKESAKOのはてな出張所
http://d.hatena.ne.jp/TAKESAKO/20080205/1202192557



 ということなんですけど、つい、ちーとプログラムを作ってしまいました。ごめんなさい><

 本来は、Perlのプログラムの勉強のために作っていたのですが、せっかくだからAjaxでやってみようということになりこんなページを作りました。


bfencode


 文章を入力すると、それに対応したBrainF*ckのコードが表示されるAjaxのページです。

 どうみてもppencodeのパクリです。本当に(ry

 でも、自分の頭でBrainF*ckのコードを考える事はそれなりにプログラミングの理解に役に立つと思いますので、初心者プログラマーの皆さん(自分も含め)はまずは自分で考えてみるということも忘れないでくださいね。

Comments

お名前 コメント

Archives

Category

羊チェッカー

関連

外部リンク

feed

SavePetProject

羊amazonリンク

入手可能な羊の本も増えてきましたね
あわせて読みたいブログパーツ