実証重視な(科学的な)視点から見れば、「バグの出にくい言語仕様」の前提に"事実"が発見されていなければならない。

この場合の事実、つまりバグについて私の考えを述べる
・バグとは
 ・エンドユーザ側から見れば
  ・バグとは「使い勝手の悪さや、実現できるはずなのに実現できないこと」がバグとして受け止められる
 ・プログラマ側から見れば
  ・バグとは「思ったとおりに動かない」がバグとして受け止められる(…orz)
 ・また、エンドユーザ側とプログラマ側の隔たりを見れば
  ・バグとは「要求が実現されていないこと」である
 ・これ以外のバグの種類は存在しない。
  ↑このあたりが不十分かな…まるで悪魔の証明を、証明してしまったかのような傲慢な言葉ですな ('A`)
     //ここまで同意? <Yes・No>

 ・ここで次の用語を定義する
  <エンドユーザの使い勝手> ⇔ Spec(EU)、
  <プログラマの思った通り> ⇔ Spec(Pgr)
  <要求が実現されていないこと> ⇔ Gap(Spec(EU),Spec(Pgr))≠φ
  とする(意味を定義しているのではなく、書くのが面倒なので記号に書き換えているだけ、に注意)

・バグの取り除き方について
 type1. Spec(EU)が悪い
  →使い勝手を向上させることでこの種の「バグ」は取り除くことが出来るか?
 type2. Spec(Pgr)に動かない
  →プログラマに「プログラムは思ったとおりに動かない」ことを認知させることでこの種の「バグ」は取り除くことが(ry?
 type3. Gap(Spec(EU),Spec(Pgr))≠φがある
  →エンドユーザとプログラマ間で「要求と実現の差」を認知することでこの種の「バグ」は取り除(ry?
--------
でもね、「記号で議論できるほど、バグは浅い問題じゃない」って言われると思うんだ   ( ´Д`)・・・

というか書きすぎです、目が疲れると思うので、スル(ry