- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
366 :デフォルトの名無しさん[]:2015/08/19(水) 06:48:19.79 ID:8XFwGYsL - 再帰はセキュリティの問題から使ってはいけない。
これは既に常識。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
368 :デフォルトの名無しさん[]:2015/08/19(水) 06:59:26.41 ID:8XFwGYsL - じゃあワトソンは使うな。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
369 :デフォルトの名無しさん[]:2015/08/19(水) 08:04:33.92 ID:8XFwGYsL - 末尾再帰はループに展開されるから大丈夫 → 結局再帰が良くないからループにするんだよね?
◯◯では使われてる → じゃあ◯◯は使うな、使われてないのに適当なこと言ってたら訴えられますよ? 再帰下降法も使うなというのか? → 再帰下降法は使うな、入力の解析を再帰で行うのは最も危険。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
372 :デフォルトの名無しさん[]:2015/08/19(水) 08:20:15.23 ID:8XFwGYsL - 再帰の危険性はCERT CC読むだけでもわかること。
いまさら再帰を使うべきというのはおかしい。 しかも、何故かWEB系の人に多いのがおかしすぎる。 WEBは最も再帰を避けるべきであろう。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
373 :デフォルトの名無しさん[]:2015/08/19(水) 08:25:28.68 ID:8XFwGYsL - >>371
言語が再帰を別のアルゴリズムに変更することを保証しているなら、 使っても良いだろう。 しかし保証しないのであれば、使うべきではない。 例えば、一般的なケースでは大丈夫 → これは使うな、攻撃者は一般的なケースで攻撃してこない。 再帰下降法について擁護するものは、大体一般的な例を述べるが、攻撃者は 最悪のケースで攻撃してくる。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
374 :デフォルトの名無しさん[]:2015/08/19(水) 08:27:48.29 ID:8XFwGYsL - 保障されるのか保障されないのか判別できないなら使うべきでない。
大抵のコンパイラがループに展開する → これは使うべきではない、言語が保証しない限り 使ってはいけない。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
376 :デフォルトの名無しさん[]:2015/08/19(水) 08:38:24.50 ID:8XFwGYsL - >>375
じゃあ使うなよ。 再帰がヒープに展開されるなら、現状では使っても良いとするしかないだろう。 現在のコンピュータにはその程度の安全性しかない。 一方、マシンスタックが消費されるなら、これは使ってはいけない。 言語が保証できるかどうかはこういう話。 逆に言うと、保証できる言語は本質的に遅いから変えたほうが良いよ?
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
380 :デフォルトの名無しさん[]:2015/08/19(水) 08:58:49.14 ID:8XFwGYsL - >>379
遅延評価によってマシンスタック消費の抑制を保証できるのであれば、 使っても良いだろう。 しかし、保証するという事はどういうことが起きるのか、良く考えたほうが良い。 大抵のケースで保障できる → これは使ってはいけない、条件が付いた時点で保障できていない。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
381 :デフォルトの名無しさん[]:2015/08/19(水) 09:01:52.31 ID:8XFwGYsL - 再帰は本質的に危険なので、教科書的にもループを基本にするべきではないだろうか。
逆に言うと、再帰で説明する教科書は、既に古いので使うべきでない。 20世紀の教科書。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
382 :デフォルトの名無しさん[]:2015/08/19(水) 09:04:29.34 ID:8XFwGYsL - こういった議論でわかることは、最近の素晴らしい言語は、問題点の
議論を避けている。 結論が出るまで使わないほうが良い。
|