いんすぱいあーど:凪瀬 Blog の 電卓の話で妄想したこと
#というより、おおもとは土曜日の公開チャット(笑)だったりしますが。
えーと、Blog にmyugaruさんちで知ったココロとか入れてみたんですが、そっこーでRさんにぺたぺたされてました。
いろんな意味で、私のココロがよごされてしまったような気がするのは内緒の昨今、皆様いかがお過ごしでしょうか。
で、本題です。
凪瀬さんが電卓の話に関連して「キューで実現できないかなぁ」とおっしゃってたのに対し、「いや、電卓だったらキューよりスタックなんじゃ?」とか私が返してたです。
そのとき、私の頭の中には逆ポーランド電卓しかなかったです。いや、ついていくのが精一杯で、何も考えてなかったに等しかったり。ああいうときに空白があくと妙に気になるので、とにかく何か書かなきゃ状態で。そういう私は関西人(笑)
#ごめんねさい、ごめんねさい、ごめんねさい > リアルタイムで見ていた方、ログ入手された方。
で、凪瀬さんがエントリあげたので乗っかってみようかと。
といっても、このエントリの内容、いまいち把握しきれていません。なので、ここからはやまだ流の妄想ということで。
#妄想なので、「結局、何が書きたいのかよくわかりません」って反応が一番予想できるけど……。
電卓祭りのときもそうでしたが、「こういうものは状態遷移図を利用すると、すっきり表現できますよ」って話になったりします。
状態遷移の考え方を否定する気はさらさらないです。というか、むしろ肯定派。でも、それ以外の考え方ってないのかな、と。
で、遷移で管理するのは何も「状態」に限る必要はないかな、と思ったりしたわけで、「動作遷移」ということばを考えてみました。
たとえば以下のようなコードがあったとします。
これだと if 文の嵐となって収拾つかなくなるから状態ごとに管理しましょう、それは良いんです。でも、if文を減らすテクニックとして考えると、それだけじゃないはず。
このコードが実行されるときって、どういうイベントが起こったかは確定しているはず。じゃあ、そのイベントに応じて、コードが差し替えられていく(遷移する)ことによっても、if 文を減らす効果はありそうだな、と。
特に電卓なんか、押すボタンによってダイナミックにコードが書き換えられていくと面白いものになったりしないかなー、と。
じゃ、具体的にそのサンプルを示してみろ、というとあまりまとまらないんですけどね。だから「妄想」だったりします。
まあ、要するに C でいうところの「函数ポインタ」というところに落ち着いちゃうかもしれませんが……。
Java とか .NET の世界だとリフレクションとかすぐそういう話になるんですが、アセンブラで考えると自分のプログラムを書き換えるようなコードも普通に書けるんですよね。もちろん、不用意に行うとバグの温床になったりしますが。
#ちょっと最近個人的にやりたいことがあって、発想がアセンブリ寄りだったりします。
> とりあえず、今日は妄想だけ放出ということで。
同じく。
でも、私の方の妄想に収拾がつく日は来ないかもしれません…… orz