goto文ワロタ / 金曜日にAppleはiOS 7の深刻重大なバグを修復 | TechCrunch Japan http://t.co/4zd3yLh8fI
2014-02-23 14:36:21Update your iPhones/iPads now. The SSL bug is really bad. Always brace your if statements. https://t.co/eyeDvhwAV9 http://t.co/lEgUdqZChu
2014-02-23 01:33:58C言語とかいう邪悪な言語を使うからこういうことになるんだよ。C++でoptionalと例外をきちんと使ってエラーハンドリングしてれば絶対にこんな馬鹿馬鹿しいミスは起こらない。
2014-02-23 14:39:44@naoina いや言語の問題ですよ。言語に例外機構が無いから不自由な記述を強いられた結果発生したバグなので、言語の問題以外の何者でもありません。
2014-02-23 14:44:11@sksk7_ 例外機構がある場合でもJavaみたいなチェック例外でない限り例外を使うかどうか、それを適切に処理するかどうかは書き手次第なので、同様のバグが埋め込まれる可能性はあるんじゃないでしょうか
2014-02-23 14:50:10@naoina プログラマがミスをする可能性があるかどうかと、その言語でそもそもそういう記述が可能かどうかっていうのは全く別の問題です。
2014-02-23 14:51:23@naoina あとC++的な例外でも、キャッチする側が例外を正しく扱わなかった場合でもプログラムが落ちることが期待出来るので、正しく扱われなくても問題ないです。
2014-02-23 14:52:23@naoina はい。直接的な原因はプログラマのミスだと僕も思います。でもその「原因を作った原因」は言語の表現力が低すぎることなので、元々の原因は言語の問題です。原因の原因が原因です。
2014-02-23 14:55:02@sksk7_ それはそうですね。ただ今回の場合だとエラー(例外)を投げる側でのバグなので、gotoなのかthrowなのかにはよらないかと思います
2014-02-23 14:55:34@naoina 例えば、線路に人が居て運転手がブレーキを踏み遅れて轢き殺した場合、その人が死んだ直接的な原因は運転手の操作ミスですが、本来の原因は車両に自動停止装置がついていないことが原因です。僕が言っているのはそういうことです。前者を否定はしていません。
2014-02-23 14:56:52@naoina 大元のバインディングがそもそも最初から例外を使っていれば問題が発生しないのです。このバグにおける悪い点は第一にiOSのユーザコードの記述ミスですが、第二に元々のOpenSSLバインディングで例外機構を使っておらず戻り値に依存している点だと考えます。
2014-02-23 14:58:28@sksk7_ 使われる側で抑制できる方が良いのは間違いないですね。ただ現在そうなっていないものが問題とまでは思えないですね。ここは多分考え方の違いなので難しいところです
2014-02-23 15:30:44包丁は道具なのか凶器なのかは使う側に依存するけど、だからといって包丁が人を傷つけられるのが問題かというと。危険性よりも便利さを取っているというかそんな感じ
2014-02-23 15:32:44