アカウント名:
パスワード:
「配列のすべての要素が条件を満たすなら真」という定義で「入力が空集合なら、返り値は真か偽か」ってのは数学・論理学やそこら辺の話で、現実のプログラミングでは「関数を書く者がその想定する用途にあわせて定義し、その定義を関数の説明に明示すること」、「関数を使う人はそういう極端なケースが起きた場合の振る舞いに気を付けること」と言うので済む話。
気をつけるで済むかぁ。別の例を出してみる。#define TRUE 0#define FALSE 1これを見たプログラマの心境を述べよ。
空集合が false を返すのも同じような違和感がある。
実際に世の中にはそういうプロセッサ(DSP/IP)が実在するんだから、文句を言ってもしょうがない。自分に選定権限がないなら、そういう系もあるんだと納得するしかないんだ。
ブール代数としての論理演算が出来ない定数定義を「系」などと呼ばないでください。
プロセスの終了コードなんかは、「EXIT_SUCCESS=0」だけど、シェルの論理演算なんかは0が真として動作するから特に問題ない。
でも、「#define TRUE 0」だと、C言語の&&や||が使えない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
プログラミングは数学や哲学ではない (スコア:4, すばらしい洞察)
「配列のすべての要素が条件を満たすなら真」という定義で「入力が空集合なら、返り値は真か偽か」ってのは
数学・論理学やそこら辺の話で、
現実のプログラミングでは「関数を書く者がその想定する用途にあわせて定義し、その定義を関数の説明に明示すること」、
「関数を使う人はそういう極端なケースが起きた場合の振る舞いに気を付けること」と言うので済む話。
Re:プログラミングは数学や哲学ではない (スコア:0)
気をつけるで済むかぁ。別の例を出してみる。
#define TRUE 0
#define FALSE 1
これを見たプログラマの心境を述べよ。
空集合が false を返すのも同じような違和感がある。
Re: (スコア:0)
実際に世の中にはそういうプロセッサ(DSP/IP)が実在するんだから、文句を言ってもしょうがない。
自分に選定権限がないなら、そういう系もあるんだと納得するしかないんだ。
Re: (スコア:0)
ブール代数としての論理演算が出来ない定数定義を「系」などと呼ばないでください。
プロセスの終了コードなんかは、「EXIT_SUCCESS=0」だけど、
シェルの論理演算なんかは0が真として動作するから特に問題ない。
でも、「#define TRUE 0」だと、C言語の&&や||が使えない。