どの様な話?
何とプログラミングと異なるか? というと、(自然言語で書かれた)要件定義書と異なる、です。
『何で同じに書かないのか』で、嫌いになる場合が実際に有りました。
プログラミングは(たとえどんな論理的糖衣をまぶしても)、結局の所、
- プログラムのある部分に制御が渡る、次に別の部分に制御が渡る、、、
でしか動きません。ですので、融通無碍な要件定義書と比べて、順番にかなりの制約が有ります。
例1
プログラムは、滑らかに回るエンジンやモーターの様に、プログラムの各部分は前の制御に依存し、次の制御のための準備も必要です。
ですので、要件定義書に1→2→3と書いてあっても、
3→1→2→3→1→2→3→1→2→という風に書かなければならない場合が有ります。
この様な記述の順番が異なる(自分が思っていた要件定義の順番と異なる)所為で、嫌うというのは、間違いなく有ります。
例2
要件定義書では、おおまかな所から、細かい所へ書きます。
しかしプログラミングでは細かい所から、おおまかな所に書きます。
プログラミングでは「おおまか」とは画餅に過ぎず、幾つもの細かい例外「以外」がおおまかになります。
この書き方の違いについては、突きつけられると激怒する人間がたくさん居ます。何で自分の指定した通りにしないのだ、と。
理由は「おおまか」とは画餅に過ぎないからです。
激怒した対象を好きになる事など、あまり有りません。嫌われる原因の1つでしょう。
何とかならないのか?
要件定義書の通りにプログラミング出来るプログラミング言語というのは、長く望まれて来ました。来ましたが、多分無理だと思います。
もしこれが出来たらこれ以降100年間は、人類全体の教師として人類全員から尊敬を受けるはずなので、もし有ったらそれをもたらす事が可能な人間なら隠さずに公表すると思いますが、全く有りません。
結論
これからも「記述の順番が異なる」事でプログラミングが嫌いになる人は存在し続ける事でしょう。