アカウント名:
パスワード:
パソコン自体が有限なリソースしか持ち合わせていないのに、 それ以上のリソース消費を許容しちまうプログラムって~事自体が悪!
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
有限なものを扱うのに制限が無い事自体が間違い。 (スコア:0)
それ以上のリソース消費を許容しちまうプログラムって~事自体が悪!
実際は、エラー処理がなってないってだけとも言うが・・・。
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
いちいち例外的な状況に対処するためのコードを書くのは面倒なので。
「例外処理をちゃんと書かないプログラミングは駄目」と言うのは簡単ですが、プログラミングの手間を減らす道具であるプログラミング言語やライブラリの側でどうにかならないものでしょうか。
鵜呑みにしてみる?
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:0)
違うの?
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
C++ に例外処理機構があるからといって、 というのに対処するのが十分簡単にはなっていないと思うのです。というのは、結局ライブラリが「エラーだったら NULL を返す」という設計になっていることが多いと感じるからです。
これは言語のデザインの問題ではなくライブラリの問題であって、ライブラリを作り直して例外処理機構を正しく使うようにすればよいということかもしれませんが、ライブラリを作る段階で何が例外的状況かを決めるのは割と大変だと思います。
言語に例外処理機構があることで、例外処理が少しは簡単になっていると思うので、望み過ぎかもしれませんが、もっと簡単にならないのかなと思って書いてみたのでした。
鵜呑みにしてみる?
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
オフトピだけどマジレスしとくと、
1:(例外)オブジェクトを「投げる」ことが出来る。
オブジェクトは情報の塊だから、その中に例えば"例外の理由"とかの情報を詰め合わせてまとめて投げ(られ)るのが便利。
要するに、投げ易い手ごろなサイズのボールだということ。
投げたり受けたりする単位として、オブジェクトは丁度便利。
2:オブジェクトというかクラスの問題だけど、エラーの「種類」の分類をクラス継承関係に当てはめるのが便利。
どっちも分類であってツリー構造になるから、相性がいい。
ってなとこか。
#OOPとは関係ないけど、あと今時の例外が構造化例外であることも便利さの1つ。
>パソコン自体が有限なリソースしか持ち合わせていないのに、
>それ以上のリソース消費を許容しちまうプログラムって~事自体が悪!
>というのに対処するのが十分簡単にはなっていないと思うのです。というのは、結局ライブラリが「エラーだったら NULL を返す」という設計になっていることが多いと感じるからです。
例外を上げるのとNULLを返すのはどちらも同じことで、つまり「何がエラーなのか」を定義したプログラマが
プログラムで検知可能な手段(^^;を用いてそのエラーとやらを検知する(そして検知したらNULLなり例外なりを…)
というコードを書くだけのことです。
だから例えば、「(リソースが)無くなった」じゃなくて「無くなりそう」をもってエラーだと定義し、
かつその「無くなりそう」を把握することが可能であるならば、NULLだろうが例外だろうが出し放題。
>ライブラリを作る段階で何が例外的状況かを決めるのは割と大変だと思います。
「何が例外か」を答えるCallbackとかStrategyとかを用意する、ってわけにはいきませんかね?
場合によってはTemplateMethod…
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:0)
処理が増えれば増えるほど、
その処理の条件分岐が多ければ多いほど、
処理が重くなるからねえ。
#なんでもクラス化すりゃ良いってわけじゃないのよ、これが。
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
えと?これどこを指してるの?
Callback云々の辺りを指してるならまだ判る(でも今時TemplateMethodなんて珍しくないと思うが)けど、
まさか例外のことを言ってたりしないよね?
>処理が増えれば増えるほど、
>その処理の条件分岐が多ければ多いほど、
>処理が重くなるからねえ。
素でif文を書くのと比べて、関数ポインタ(virtualってのは結局それだ)は
どれくらい重いんよ?という話は、いつも付いて回りますね。
動的OOP言語なんて、四六始終そうして動いているようなもんだが。
もちろんCほど速くないのは確かだが、それもまた一つの生きる道。
>#なんでもクラス化すりゃ良いってわけじゃないのよ、これが。
まあ、世の中にゃ逆に、「なんでもクラス(つーかObject)化を回避すりゃ良いってわけじゃないのよ」と
評したくなるようなコードを書く奴が、結構沢山いるようなので。
#少なくともClassとObjectの呼び分けを誤ってる奴(C++の教科書とかに有りがちだが)にゃ漏れなくZap^3をお見舞いしたいんでG7。こんぴゅーたさままんせー