コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

バグがないプログラムとはなんなのだろうか

そんなものがあるのだろうか

ちょっと昔にバグのでないプログラムはつくれるとかあったので、そんなことを考えてみようと思います(素人が)。

そもそもバグとは

バグ
バグとは、コンピュータプログラムに含まれる誤りや不具合のこと。

ということらしいです。
誤りや不具合…、何を指してるかわからないのでここでは「期待通りの結果」を出せないことを誤り・不具合ということにします。


「期待通りの結果」を出すということなので、さくっと「ハローワールド」をつくっていきます。

仕様
 =>こんにちわーるど と画面上に出力されるプログラムをつくる


言語はPython3で作っていきます。なんでPython3なのかというと、僕が"日本語で"「ハローワールド」を作るのにすこぶる苦戦した思い出があるからです。それでは早速つくっていきます。

print(u'こんにちわーるど')

できました。

動作の確認
f:id:andron:20170215224556p:plain

なんだ簡単じゃないかとなりますが、ここで先ほど書いたコードを"一切触れずに"この青い画面の環境設定をちょっといじります。
すると……

Traceback (most recent call last):
  File "hello.py", line 2, in <module>
    print (u'\u3053\u3093\u306b\u3061\u308f\u30fc\u308b\u3069')
  File "***", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-7: character maps to <undefined>

こんなエラーが出てしまいます。「期待通りの結果」が出てきません。
エラー内容は丁寧に書いてますが解決策が分からなかった当時はハマりました。


――で、これはバグなのかという問題なのですよ。
今回は「期待通りの結果」が出てないので不具合となりますが、このコードで動いている例もあるわけでなんだかもにょる感じです。
こういったプログラム側でなんとかならない所からの問題が、バグなしプログラムはあるとかないとか言ってしまう原因なんではないだろうかと思ったりラジバンダリです。なお、こうした問題はソフトウェア側で回避していくんだから、こんなの仕様でなくバグだとか争い合うようになるとさらに沼が深くなるので、このあたりでお開きにしたいと思います。

以上、素人の拙い考察でした。
なんかこの記事いつもより真面目な気がする。