どの様な話?
歴史的に有る時点まで(普通に動くコンピュータが10万円以下で手に入る様になるまで)、プログラミングが主な手段であるシステム開発は、SIerの様なコンピュータの側面からのみ突き詰めるプレイヤーによってなされて来ました。
しかし、コンピュータが安くなった結果、
- 他分野の常識を基礎にして、システム開発を根本的に見直す
- それにより、コンピュータハードが安くなったのに呼応して安くする事を目的とする
考えが(当然ですが)沸き起こって来ました。
しかしながら、見た限りでは上手く行っていません。もっと言うなら「常識が通じない」様に見えます。
根本的な誤解があるのでは?
常識のみで考えると、
- プログラムを本番実行すると、原因不明の理由で動かない
のが絶対的な通常で、そうで無いのは、
- 必ず、何か非常識な事をしているから
では無いでしょうか?
何が「非常識」なのでしょうか?
化学反応は、多数の原子分子が体験するさまざまな可能性の中から、圧倒的に大きい確率で起こる事を、さも一直線に起こる様に表記しますが、「常識」もまた、似た様な原理で発生するものだとしますと、
「非常識」とは、
- 多数の人間が体験するさまざまな可能性の中から、起こりにくい事
- しかし全歴史の中で1回しか起きていないとかでは無く、もう少し頻度の高い事
だと思います。あまりに頻度が低すぎると「非常識」とすら認識できないからだと思います。
テスト実行をしなければいけない理由
プログラムはテスト実行をしなければいけない理由も、そこに有るのかも知れません。
要件に応じて複数の「非常識」を過不足なく表記する時、
- 本当に過不足無いのか
は「やってみないと分からない」からだと思います。そしてそれらテスト表記により、
- このプログラムで「必要な」「非常識」とは何か
- プログラム内では陰に表現されているのみ(苦労して読み解かないと見えない)
なのを陽に表現できるのかも知れません。
ただ、現時点ではテスト表記についての研究は途上だと思います。
結論
ですので、これからも「常識が通じない」事でプログラミングが嫌いになる人は存在し続けることでしょう。