アカウント名:
パスワード:
goto命令有害論って要するに「有害なgotoを使うのは有害」ってトートロジーだから。
try ~ throw ~ catch とかsetjmp/longjumpとかcall/ccとかgotoとか、 どれも限定的な条件では有用/必要だからそういう機能が用意されてるわけで。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
goto文がある・・・ (スコア:1)
# 使うと便利な時があるのは分かるけどね。
Re:goto文がある・・・ (スコア:0)
っていうか、goto命令有害論ってまだ信者がいるんですか?そっちのほうが驚きですが。
Re:goto文がある・・・ (スコア:0)
大いに有害だと思うけど、
そもそもまだ使ってるヒト居るの?
そっちのほうが驚きですが。
最近は見掛けないので、
敢えて有害論を主張する必要は感じません。
Re:goto文がある・・・ (スコア:0)
try ~ throw ~ catch とかsetjmp/longjumpとかcall/ccとかgotoとか、
どれも限定的な条件では有用/必要だからそういう機能が用意されてるわけで。
Re:goto文がある・・・ (スコア:1, 興味深い)
限定的な条件では有用なので、限定的な goto 文である大域脱出 (catch & throw とか、break とか)が用意されるようになったのであり、 無制限の伝統的な goto 文の濫用はやはり推奨されない。 goto 文を使いこなすには修行が必要なのですよ。
なお、call/cc (call-with-current-continuation) は、大域脱出どころか逆向きに飛び込むことだってできてしまうくらい強力なので catch & throw などとはわけが違う。 実用的有用性というより理論的重要性により存在する。
Re:goto文がある・・・ (スコア:0)
gotoが出現するくらいで流れの追えなくなるようなダメな関数ならgotoを何か別の制御構造に置き換えてもダメさ加減は変わらないよ。
Re:goto文がある・・・ (スコア:1)
その関数がデカイんです(T_T)
#またデスマに招集されたのでG7
Re:goto文がある・・・ (スコア:0)