アカウント名:
パスワード:
サポートされたのは嬉しいんだけど、なんでこれまでずっとサポートしてこなかったのに今更?技術的に出来なかったわけでもないでしょうに?
たとえば、単にパーサのデバッグにこのくらいかかったとか?
PHPの言語仕様はかなりアレなので、catch節の中でパースしそこねて破綻すると、finallyが動いたり動かなかったりしそうだ。
それはfinally節のバグになるってことだから。
Finallyがないのが美学とか、プログラミングスタイルを強制することを是とするようななんかそういう観念でもあったんだろ。
なぜ「今更」とかいう発想になるのだろうね?大変すぎて今まで手が付けられなかったものをようやく成し遂げたのだと理解すれば、賞賛しか生まれないはずだが。
例外機構ってのは複雑なんだよ。きちんと実装しようとすればものすごく頭を悩ませて細かい問題を潰していかないといけない。とくに後から追加するっていうのは、既存部分との組み合わせを考えるとどこに問題が潜んでいるかもわからない。言う方は楽だよね。でも実装する方は悪夢だと思うよ。
PHPってそんな細かい気配りのもとに実装されてる言語でしたっけ…
そっちよりもこれまでジェネレータが実装されてなかったことにびっくり。PHPな人たちはあんまりイテレータ使わないんだろうか?それとも大きなデータを扱わないだけ?
動けばよいのだ。メモリが足りなければ積めばいいのだ。
まあ実際、PHPで大きなデータを扱う設計は宜しくない場合が多いのでは。(PHPでやるなとも)
大きなデータを扱うときはデータベースに任せるんじゃないかと思います。まあ、ものによるけど。
まぁ普通はそんなに大きなデータは扱わないわな。
できるからってたまにやろうとする人もいなくもないがそもそもWebアプリ側で大容量データ処理をしようと考える方がおかしいんだよね。
ようやく啓蒙が終わったのかと。PHP使いは finallyを実装すると、例外処理では finallyしか使わないから。
#if文やgoto文のかわりのエッチな使い方はいけないと思います
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
finally (スコア:1)
サポートされたのは嬉しいんだけど、なんでこれまでずっとサポートしてこなかったのに今更?技術的に出来なかったわけでもないでしょうに?
Re:finally (スコア:1)
たとえば、単にパーサのデバッグにこのくらいかかったとか?
PHPの言語仕様はかなりアレなので、
catch節の中でパースしそこねて破綻すると、
finallyが動いたり動かなかったりしそうだ。
それはfinally節のバグになるってことだから。
Re: (スコア:0)
Finallyがないのが美学とか、
プログラミングスタイルを強制することを是とするような
なんかそういう観念でもあったんだろ。
Re: (スコア:0)
なぜ「今更」とかいう発想になるのだろうね?
大変すぎて今まで手が付けられなかったものをようやく成し遂げたのだと理解すれば、賞賛しか生まれないはずだが。
例外機構ってのは複雑なんだよ。
きちんと実装しようとすればものすごく頭を悩ませて細かい問題を潰していかないといけない。
とくに後から追加するっていうのは、既存部分との組み合わせを考えるとどこに問題が潜んでいるかもわからない。
言う方は楽だよね。でも実装する方は悪夢だと思うよ。
Re:finally (スコア:1)
PHPってそんな細かい気配りのもとに実装されてる言語でしたっけ…
Re: (スコア:0)
そっちよりもこれまでジェネレータが実装されてなかったことにびっくり。
PHPな人たちはあんまりイテレータ使わないんだろうか?それとも大きなデータを扱わないだけ?
Re: (スコア:0)
動けばよいのだ。
メモリが足りなければ積めばいいのだ。
まあ実際、PHPで大きなデータを扱う設計は宜しくない場合が多いのでは。(PHPでやるなとも)
Re:finally (スコア:1)
大きなデータを扱うときはデータベースに任せるんじゃないかと思います。
まあ、ものによるけど。
Re: (スコア:0)
まぁ普通はそんなに大きなデータは扱わないわな。
できるからってたまにやろうとする人もいなくもないが
そもそもWebアプリ側で大容量データ処理をしようと考える方がおかしいんだよね。
Re: (スコア:0)
ジェネレータがあれば…!と思ったことはあまりないなあ。
大体、PHPで日常的に扱う巨大なデータってDBの結果セットとかXMLみたいなデータをパースしたときくらいだし、
そういうのはライブラリ側でIteratorとして扱えるようにしてあるし。
Re: (スコア:0)
# 真に必要なのはscope(exit)なんじゃないのかとか思わなくもない
Re: (スコア:0)
ようやく啓蒙が終わったのかと。
PHP使いは finallyを実装すると、
例外処理では finallyしか使わないから。
#if文やgoto文のかわりのエッチな使い方はいけないと思います