アカウント名:
パスワード:
そんな持てはやされるものかねnull 参照の不具合なんて結局パラメータか戻り値のチェックミスなんだからそこに null が入ってようが不正な値が入ってようがプログラムが正しく動かないというのは変わらないし、ぬるぽで落ちるほうがバグが見つけやすいんじゃなかろうか
NULLを禁止している言語は、C++等がNULLで表現しているエラーや異常値を表すための機構(Option型など)を持っています。NULLの代わりにこれらを使うと、異常値検査を省略したコードが書けないため、
パラメータか戻り値のチェックミス
が起きない仕組みになっています。
それでも、0除算はできるという、この中途半端さよ。
Rustだと、NonZero型 [rust-lang.org]もありますね。除数として使うことを意図しているのかどうかは分からないけど。
double f(double x) => 1 / (x - 1) - 1;
あんまり意味がないよね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
最近の流行りだけど (スコア:0)
そんな持てはやされるものかね
null 参照の不具合なんて結局パラメータか戻り値のチェックミスなんだからそこに null が入ってようが不正な値が入ってようがプログラムが正しく動かないというのは変わらないし、ぬるぽで落ちるほうがバグが見つけやすいんじゃなかろうか
Re:最近の流行りだけど (スコア:1)
NULLを禁止している言語は、C++等がNULLで表現しているエラーや異常値を表すための機構(Option型など)を持っています。NULLの代わりにこれらを使うと、異常値検査を省略したコードが書けないため、
パラメータか戻り値のチェックミス
が起きない仕組みになっています。
Re: (スコア:0)
それでも、0除算はできるという、この中途半端さよ。
Re: (スコア:0)
Rustだと、NonZero型 [rust-lang.org]もありますね。
除数として使うことを意図しているのかどうかは分からないけど。
Re: (スコア:0)
あんまり意味がないよね。