<< Prev Page Next Page >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


バカなプログラムの小賢しい振り返り

第1回に続き、第2回バカプログラム大会でも「1番」を頂きました。ありがとうございます。
すごいバカなプログラムのまとめ

ただ「できる」だけでなく、「バカバカしくできる」点が評価されたものと思っております。時々ソートを間違える可能性があるといったドジッ子ぶりもきしださんの萌えツボを刺激したかもしれません。

あっ、…擬人化?

「ソートたん」?



さて今回のバカプログラム大会における基本ルールは、
・if、while、forを使わない
というものだった。

いつも「どのプログラム言語だって結局ifとforでなんとかするんだから書いたことがない言語だってちょっとやればすぐできる」と言っていて、実際いろんな言語をやってきてそれが正しいことは実感しているけれど、今回のこれがプログラミングの本質みたいなものについて一番考えさせられた。

ifとかforとかを禁じられて、いろんな人々が集まってやったことは結局、
「繰り返しは再帰でできる。条件分岐をどうするか」
という問題を解くことだった。

最初例外を使う方法が出てきて、3項演算子が現れ、ちょっとしたブレークスルーがBooleanを数値に変換して配列のインデックスに使って条件ごとに別のインスタンスを利用する僕の方法だったかな。それを利用してIfとかWhileとかをクラスとして用意しちゃう人とか出てきたのも変だった(褒めてる)。ていうかそれ、ifとかwhileとか使っとるやん!

&&とか||とかを使う方法があとから現れたのは、これも言語が持っているif以外の条件分岐の方法を使ったもので、「あ、そういえばそうだった」と思った。普段スクリプト言語ばっかりなのにこういう使い方思いつかなかった。

言語ヲタクのさくらいさんが遺憾なくヲタクっぷりを発揮してるのは面白かった。λとかYとかわざわざJavaでやらんでも。そしてIFを実現するためにforを使い捨てという無駄っぷり。

ほかの方法として、正規表現+Method.invokeとか考えてたんだけど、それもtry-catchが必要だしなーと思ってやめた。ていうか仕事がつまってるときに遊びすぎ。


ifを禁止した結果、条件分岐を他の方法で代替するのでなく、条件分岐っていう考え方自体から抜け出すことができたらちょっと違った世界が見えるんじゃないかと、そんなことを思った。

ダブル配列とかが、僕のイメージに今のところちょっと近い。


この記事に対するコメント

この記事に対するコメントの投稿



管理者にだけ表示を許可する

この記事に対するトラックバック

トラックバックURL
http://tockri.blog78.fc2.com/tb.php/46-3fff95e4
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。