dポイントプレゼントキャンペーン実施中!

例えば何かを計算するソフトをどこかから買ったとします。それは商品なので、もちろんオープンソースではなく買い手はどんな処理をしてるかわからないわけですよね。
手計算で確認みたいなこともできるかと思いますがそれのみで、他の多くの場合には無理だと思いますし、ソースも見せてもらえないですよね?

この場合、結果の正しさというか正当性みたいなものは何で担保されているのですか?例えば方程式を解くとして
ソースがあるならばこの手法を用いて、設定はこうして~というのが書かれているわけで、少なくともやってることが正しいかどうかは判断できますよね。

そうではない場合は売り手への信用。例えばこの会社が出してるソフトだし、皆が使ってるからまあ大丈夫だろ。みたいな状況証拠というか外堀を埋めていく感じで正当かどうかを判断する。つまりソフトそのものについては曖昧な感じにするか競合他社のものも買って比較等をせざるをえないのですか?

ものすごく手抜きをされていて、それっぽい数字は出るけど凄く誤差がある。みたいなことっておきたりしないのでしょうか?
これが車なら速度や燃費はカタログスペックということで事前に情報が渡されていてユーザーが確認できるので実際に走らせてその通りならエンジンの仕組みを知ってる必要はないですが、プログラムの場合だと未知の結果が欲しいことも多いわけで、じゃあそれがきちんとされてるか?ってのはどう判断するのでしょうか。

A 回答 (2件)

> それで結局どうなるんですか?本文に書いたように信頼性がある会社だから~と何も考えずに信じるのが一般的なのでしょうか?



OnneName さんが回答している通り、ゼロから自分で作らない限りそれしかないでしょう。

ゼロから自分で作るといっても、コンパイラも疑ったり、プロセッサーの処理も疑いだしたらきりがないですよね。
    • good
    • 0
この回答へのお礼

そういったバグがないプログラムは作ることができるか?みたいな哲学的な話をしたいのではなくて、前提条件は質問に記載したもののみです。言葉足らずですいません。

そういうスタイル(何も考えずに信じる~)は一般にアリなんでしょうかナシなんでしょうか?
具体例というか今の状況はゲームに使う数値計算ソフトがあるんですが、出してるところがそこしかないんです。なので他と比べて~とかができません。
計算方法等のアルゴリズム自体は既知のものですが、有償ソフトなので作者は当然ソースコードを公表していません。
自分で作るにはハードルが高いです(というかそれができるならゲームせずにソフトを作って売ります)
皆は特に疑問を持たずに使っています。

こういう状況で、じゃあ皆が使ってるし大丈夫だろ。というのは思考の放棄で危険であることは間違いないですよね。
アプリケーションとかでこういう事例(作ってるところがそこしかなくて、信じるしかなく、かつ結果(数値計算の正しさ)の確認ができない)
ってのは一般によくあるのか?特異的なのか?また回答される方ならどういう意見を持つかが知りたいです。

お礼日時:2017/08/06 02:39

>設定はこうして~というのが書かれているわけで、少なくともやってることが正しいかどうかは判断できますよね。


普通はできませんね。
他人の書いた膨大な量のプログラムを読んで開発者も試験者も見つけられなかった不具合を見つけることは事実上不可能。
それができるのなら最初から自分で作ればよい。

>これが車なら速度や燃費はカタログスペックということで
まともなソフトウエアならその程度のことはカタログや公開されている仕様書に出てますよ。
    • good
    • 0
この回答へのお礼

それで結局どうなるんですか?本文に書いたように信頼性がある会社だから~と何も考えずに信じるのが一般的なのでしょうか?

お礼日時:2017/08/03 15:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!