2008-10-30

http://anond.hatelabo.jp/20081029183233

最初のネタ扱いの書き方が失礼だったことは申し訳なかったですが、どうかカッカしないで欲しい...。

で、結局、何を「メリット」と考えるか、何を軸に「大小関係」を考えるのかがずれているのだと気づきました。

それで、元々のプログラムループ記述されていた場合、わざわざ再帰処理に書き換えるには明確なメリットが必要だと思う。

「forを再帰で代替するなんて、どういうメリットがあるの?」という大元増田の疑問に対して、「ループ再帰の一種なので、表現力としてはメリットデメリットもありませんよ(大小関係はないですよ)」と申し上げましたつもりでした。

まあ、そもそも元がfizz_buzzの書き換えの話だしね。

再帰に書き換えて俺のプログラムが速くなるのか」というのなら、処理系もよりますが速くなったり遅くなったり変わらなかったりすると思います。

それで、一番引っかかっているのが、これ。

再帰処理って処理を停止して新しい処理を行い、終了後に停止していた処理に戻ることじゃない?

処理A -> 処理B -> 処理A が再帰処理の名前の由来でしょ?

これが再帰呼び出しではなく関数呼び出しを表しているというのには合意してもらえたでしょうか。

  • ループが再帰処理の一種・・・? 再帰処理って処理を停止して新しい処理を行い、終了後に停止していた処理に戻ることじゃない? 処理A -> 処理B -> 処理A が再帰処理の名前の由来で...

    • 「俺にとってはループの方が判りやすい」という主張は否定しないが。 再帰処理って処理を停止して新しい処理を行い、終了後に停止していた処理に戻ることじゃない? 処理A -> 処...

      • よくわかってないならマジレスしなくていいよ。ネタじゃないし。 それは「関数呼び出し」じゃないかな? 言語によるのかも知れないが、私が触ってきた言語では全部自分自身を関数...

        • 元増田と違う人かもしれないが、 言語によるのかも知れないが、私が触ってきた言語では全部自分自身を関数呼び出しすることを再帰と言っていた。 これには同意します。しかしな...

          • プログラム構造のレベルでも、個人的な感覚の問題かもしれないが、再帰処理よりもループのほうがわかりやすい。 それで、元々のプログラムがループで記述されていた場合、わざわざ...

            • 最初のネタ扱いの書き方が失礼だったことは申し訳なかったですが、どうかカッカしないで欲しい...。 で、結局、何を「メリット」と考えるか、何を軸に「大小関係」を考えるのかがず...

              • 別に怒っちゃいないよ。 表現力としても再帰処理よりループのほうが優秀だと思うな。 再帰処理はループ以外の処理もできるけれど、ループはループしかしないからね。 これが再帰...

                • 再帰処理って処理を停止して新しい処理を行い、終了後に停止していた処理に戻ることじゃない? 処理A -> 処理B -> 処理A が再帰処理の名前の由来でしょ? 大はずれだろ。どこが「...

                • 元エントリについている『大はずれだろ。どこが「名前の由来」やねん。』云々は別増田です (って言っても増田だから説得力ないかもしれませんが) さて、 表現力としても再帰処...

                  • 元エントリについている『大はずれだろ。どこが「名前の由来」やねん。』云々は別増田です 口調が違うのでわかります。 ちなみにそのエントリについてるエントリも私とは別増田で...

            • 再帰ねー 木探索を簡潔に記述できる以外でループに勝る点なんかほとんど思いつかないんだけど 末尾再帰しかしないならループの方が簡潔だし、少なくともループの方が遅いことはない ...

      • 「末尾再起のある処理系なら」と付け加える必要があるのでは?

    • 元増田じゃないけど、LISPとかの話じゃないかな。 ループは再帰で実現できるけど、再帰はループで実現できない。だから論理的には、再帰の方がより一般的。(再帰さえあればOK) ただ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん