パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

再帰呼び出し、よく使う?使わない?」記事へのコメント

  • by Anonymous Coward

    ロジックを設計した段階で再帰的になってれば再帰呼び出しで実装するし
    ロジックを設計した段階で単純ループになってればループ構造で実装する。

    そのように考える方が分かりやすいからそういうロジック設計になっているのだし
    リソースが潤沢な時代だからどっちでもいい。

    • by plauda (46850) on 2015年02月11日 21時12分 (#2759582)

      趣味では使うが、仕事では積極的に使わない。
      ハイエンドのマシンを使う顧客とか、ピーク時でギリギリ扱えるぐらいの余力だったりする。
      やはり、リソースが潤沢という前提が成り立つかどうかかが、業務などの環境依存なので環境依存のコードを入れるのは避けたいところ。

      色んな顧客がいて、負荷がかかるコンポーネントも少しずつ違うし、負荷特性の違う顧客にそれぞれの顧客に対して、
      再起呼び出しで使うスタックサイズが十分であることを保証し続けることが面倒。

      顧客のシステムが運用中にスタックオーバフローで落ちるとか目も当てられないので、
      まずは、見積もり式が必要になるが、これを作成し、メンテナンスし続けるのが手間。
      再起関数を修正すると、必要なスタックサイズも変更になるし、その度に再見積もりさせる訳にもいかない。
      というより、再起呼び出しを使わなくても、スタックに置くデータサイズには気を使う。
      ヒープ見積もりも、見積もりしやすいようにデータ構造の管理方法とか工夫しているくらい。

      親コメント
      • by Anonymous Coward

        これ。再起呼び出しの使いづらさは、「スタックの使用量の見積と確保が困難」という点に尽きる。

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

処理中...