2008-10-29

http://anond.hatelabo.jp/20081029021459

プログラム構造レベルでも、個人的な感覚の問題かもしれないが、再帰処理よりもループのほうがわかりやすい。

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

あなたは「再帰処理はループイコールになりえる。」としか言ってない。

ループ再帰処理」であるならば、ループ再帰処理で書き直すメリットはない。

あなたが説明せねばならないのは、「再帰処理>ループ」であるということ。

必ずしも「再帰スタック領域を消費」「ループのほうが一般的に処理コストが小さい」とは言えないと思いますよ。

最初から私はそれを特定の条件下に置いていた。

必ずそうなるとは誰も言っていない。

それと、ループ再帰で処理コストが変わらなくなるのは末尾最適化が行われるという特定の条件下においてなので、「ループのほうが一般的に処理コストが小さい」と言えるはず。

  • for を再帰で代替するなんて、どういうメリットがあるの? 逆だよ。ループ構文が再帰の一種なの。 だから代替するってのはちょっと違う。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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