ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

brainfuckコミュの取りあえずbfに付いて語ってみる

  • mixiチェック
  • このエントリーをはてなブックマークに追加
寂しいのでたててみました

すごく単純にコンパイラとかインタープリタが作れるので教育に使われたらよいと思います。

因にコミュニティ、立てたはいいが何をやればよいやら

コメント(38)

勝手ながら提案を。
brainfuck golfみたいに、誰かが出したお題に対して、どれだけ短いコードで書けるかというのをやってみてはいかがでしょうか?
http://esoteric.sange.fi/brainfuck/bf-golf-results/results0.txt

私は以前mixi日記にて「"mixi"を出力するbrainfuckプログラムをどれだけ短いコードで書けるか」というのをやりました。
http://mixi.jp/view_diary.pl?id=3173012&owner_id=170013
その時は、
+++++++++[>++++++<-]>[>++>++<<-]>+.----.>++++++++++++.<.
が最短でした。
brainfuck golfですか、面白そうだと思います。割と参加しやすく、もうり上がりそうですし。

取りあえず、虎さんの日記を見て勉強してみます。
誰がお題を出すんだという話がありますけどね。(俺か!?)

> 取りあえず、虎さんの日記を見て勉強してみます。
僕のを見ても勉強になりませんよ〜。
>誰がお題を出すんだという話がありますけどね。
順番でいいんじゃないでしょうか。

じゃなくて1回目の話ですよね、自分出しますか?
でも、できれば一回目は、虎さんお願いできませんか。
うーん。
そしたら、このコミュを作成したnushiさんに敬意を表して「"nushi"をどれだけ短いコードで書けるか」にしましょうか。
上記の内容で、トピックを立てました。
まずかったら消してください。
>「"nushi"をどれだけ短いコードで書けるか」
まさかそうくるとは、思わなかった。
ちょっとうけました。

取りあえず考えます、数時間お待ちを。
ところで、みなさんどんなインタープリタ(コンパイラ)つかってますか?


自分は取りあえず自作のインタープリタ使ってますが、うまく動かないときとかあります。やばいです。
私はWindowsでは、
http://esoteric.sange.fi/brainfuck/compiled/win/
のBFI.exeをメインで使ってます。

もしくはBrainFuckダイナマイツを使っています。
http://tool-ya.ddo.jp/program/brainfuck/

既にあるものは使おうという考えです。

OS/400では、インタープリタもコンパイラも存在しないので自分でインタープリタを書きました。
ちなみに自分のサイトで公開してたりします。(ただCで書いてあるだけなんですけど)
http://kara.ifdef.jp/program/c400/c400_01.html
そろそろ、bfgolfやってみーません?

お題募集します。もちろん自分も考えます。お願いします。
こんにちわ>zeroさん

bfgolfの説明を。
1:お題(動作)をきめて
2:その動作をするプログラムをbrainfuckをもちいてつくり。
3:そのソースコードの短さを競うgameです。

今まで2回行われています。
1:nushiを出力するプログラム。
2:73番目の配列を123にする。
です。過去トピックをみると、感じがつかめるかも知れません。

このコミュニティでやられているbfgolfは競うというよりも、みんなで一緒にソースコードを短くしているようにも見えます。
すいません。今週中に御題だすつもりでしたが、ちょっと無理臭いです。
来週中には。

もちろんみなさん御題思いついたら、トピック立ててください。
とりあえずネタ振り

bfの魅力って何なんでしょう?

自分は昨日某言語開発者の講義での自分の好きな言語は何か?という質問に対し、"prolog""brainfuck"と答えたのですが(prologは流行ってないと今日言われてしまいましたが...)。

自分はbfの魅力は主にそのソースの見た目だと思ってます。後、難解言語であること。その難解さはプログラムを作り上げた後の喜びを倍増させます。

皆さんはいかがでしょうか?
久しぶりに書いてみる。
管理人らしいことしてないっすね。
また気が向いたときにでも、golfでもしましょう。
おはようございます。
新参者のwです。
大してプログラミングの知識無いけれど、bfの面白さには感動しましたw
mixiに入ってbfのコミュニティがある事に驚きましまたが、何だか活気が無いようですね。

是非mixiでもbfの話題で盛り上がりましょうw
おはようございます。
はじめましてwさん。

>何だか活気が無いようですね。
まぁ、うん、そうですねww

http://en.wikipedia.org/wiki/Brainfuck
ちょっと燃料投下のため↑に書いてある
bfの方言について調べてみます(?)
随分色々あるのですねw

英語は不得手で読むの疲れますけど、日本語より内容が断然充実していいですね。
とりあえず、
Ook!には吹きましたwww
あ、その次のCOWって言うのも同じ系列でしたね。

下の方にbfのハードウェアとして「Brainfuck Computer」って言うのも作られてるんですね。
PICなら少しわかるから作ってみたいですね。
>あ、その次のCOWって言うのも同じ系列でしたね。
こっ....こいつも酷いww

他の方言として、self modifyingができるbrainfuckは取り敢えず面白そうな気がします。

個人的にはしょぼいgotoがあるbrainfuckを妄想していたのですが。
例えば
8つの演算子の他に、
?:アンカ
!:一番最近作られたアンカに飛ぶ

だと、余り良い使用例が思いつかなく(ってか[]でも表現できる気がする)

?:アンカ
!:一番最近作られたアンカに飛んで、そのアンカを無かったことにする

だと、他に色々とややこしい事が出てくる気がしてます
self modifyingって言うのは、メモリ上のデータをプログラムとして実行させる機能、であってますか?

?:アンカ
!:一番最近作られたアンカに飛ぶ
の場合は、確かに[]そのままですね(条件となるポインタがさす値を0にしないようにすれば)。

?:アンカ
!:一番最近作られたアンカに飛んで、そのアンカを無かったことにする
これは例えば、
?「処理1」?「処理2」!
こういう使い方するのですかね。
知識不足で具体的な使用例が思いつかないです。

でもこれも、アンカの個数分の[]と1に設定したカウンタがあればできますよね。
>self modifyingって言うのは、メモリ上のデータをプログラムとして実行させる機能、であってますか?
プログラムをメモリ上のデータとして扱えるということのような気がしますし。まったく同じことを言ってるような気がしてますwwwww

一応gotoのよさは配列(環境)の情報を書き換えずに制御を変えれるところなので.....
余り影響が無く[]で書きかえれるかが多少問題なのかなぁと思ってました。

表現悪くてごめんなさい
self modifyingは、プログラムとデータを分けて考えないもの、で大丈夫そうですねw

確かにgotoがあれば配列の管理の煩雑さを避けれて便利ですよね。
ですが、その為にコンパイラのサイズが余り大きくなってしまってはbfたり得なくなってしまいますよね。

あ、なんか頭の堅い事言ってる気がする。

bfの改造はパロディー的なものがいいと思いますねw
実用性を少し上げるのならとことん、実用的にしてしまった方がいいと思うのです。
++><>>
_asm{

#include <iostream>
using namespace std;

int main()
{
cout << "Hello, world!" << endl;
return 0;
}
}

++<<><>

こんな感じだとしたら

本当だC++と同じ記述力だ!ってかc++でもういいや!
どうしてもbfで書きたい処理があるかどうかですよね。

…無いかw
もしかして逆で


#include <iostream>
using namespace std;

int main()
{
_brainfuck{++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<
+++++++++++++++.>.+++.------.--------.>+.>.}
return 0;
}


こんな感じだとしたら

まぁ前回よりはいい感じかもしれない。どうしてもbfで書きたい部分があるとするなら....
なべさん、初めまして。

そのコード実行したのですがうまく表示されません。
もしかしたらインタプリタのせいですかね。
私はこれを使ってます。
http://esoteric.sange.fi/brainfuck/compiled/win/DBFI.zip
どもです^^

10分で使った自作のを使ってたりします。
あちこちのサンプルは一通り動いたので大丈夫だと思ったけどダメだったか・・・

あと、中身は日本語なので、文字コードとかの問題かも。
日本語とか迂闊なことはできないですね・・・
> なべさん
あ、日本語だったのですね。
日本語に対応したやつで試したら上手く表示されました。
>以後は適当なところで改行を入れていただけるとありがたく……。

あぎゃ、、申し訳ないです・・・
うっかりしてました

以後気をつけます・・・
ということで、書き直してみる。。

+++++++++++[>+>+++++++++>++++++++++++>+++++++++++++++++>
+++++++++++++++++++>++++++>++++<<<<<<<-]>>->-->----->---
->>--<<<<.>>.<<.>.<.>>++++++++++++++++++.<<.>>---.<<.>-.
<.>+++++++++++++++.<-.>>>.<<<<<++.---.>>++++++++++++.>+.
<--.>>+++.<<<.++++++++++++++++.-----------------.+++++++
+.+++++.--------.>>>>>.<<<<<---.++++++++.>---------.>>++
+++++++++++++++.<<++++++++++++++++.<++.>----------------
.>----.<.>+++.<++++++++.>----------------.<+++++++++.>--
----.<-----------------.>+++++++.<.>>-------------------
-.<<.>.<.>++++++++.<-.>>>.<<<<<+++.---.>>+.>>++++++++++.
<<.>>+++++.<<.>--------.<.>--------.<.>+++++++++++++++++
+++++++.<.>--------------.<-.>>>.
http://golf.shinh.org/

こんなのがはやっていると聞いたのですが?
(古いか情報かもしれませんが)
bfもあるみたいですね。

ログインすると、残り4件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

brainfuck 更新情報

brainfuckのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。