嫌われプログラミングの代弁者

「何で頭ごなしに嫌う人間が居るのか」を色々考える

第一原理計算? 2

実際に因果推論をして見ると

仕事として手が動くプログラマー全人口の1万人に1人だと想定すると ー(1)

はじめにテストを書け、仕事として手が動くプログラマー全人口の100万人に1人では無いかと推察します ー(2)

もしそうなら、

  • (1)のプログラマーを私が使って私の為に仕事をしてもらえる確率は0では無いと思われ、
    企業や公共団体が(1)のプログラマーを使ってそれらの為に仕事をしてもらえ、そこのサービスを通じて私の為になる確率は100%と言っていい、

と思いますが、

  • (2)のプログラマーが私の為に仕事をしてくれる確率は0(殆ど0の確率が、何段階も重なって初めてそうなる)でしょうし、
    企業や公共団体が(2)のプログラマーを使える(間接的に私もそのサービスを使える)のも、少ない確率となる、

と思います。

(なんでも有り得る)可能世界では、

  • はじめにテストを書け、仕事として手が動くプログラマーが登場する

道筋も有るかも知れませんが、確率まで加味して考えると、現実ではお目にかかる事は、まず無いのでは無いかと愚考します。

 

 

なんでそう思ったのか?

なんで、仕事として手が動くプログラマー1/100 が、はじめにテストを書け、かつ仕事として手が動くプログラマーになると推察したかと言うと、

(はじめの内ではテスト(=モデル)など気にしない、在来工法の)
仕事として手が動くプログラマー(私もそうだったと思いますが)は、

  • はじめの内は「動くプログラムの定石」に従い作る
  • なぜなら、動くプログラムを作るのが絶対条件で、動く定石から外れた所には解が無い為。
  • 特に初めの内は、モデルなんてどうでも良い、計算の正しさもどうでも良い

からで、

  • はじめの内から、テスト(=モデル)を気にする事が出来、

かつ、

  • 動くプログラムを作れる、手が動く

となると、それ位希少になると思ったからです。

 

 

「はじめの内」と言う条件を取っ払えば...

もちろん、在来工法で目鼻を付けてからテストを書いても良いなら、かなりの、在来工法のプログラマーでも、テストは書けると思いますが、

それだと、

  • 仕様制定の経緯から入らないと、テストにたどりつかない
  • (その様な有る意味 "よそごと"もやっていると)生産性(ステップ換算)は1/10 程度にまで落ちるだろう
  • (テストを作る手間で)生産性(テスト以外のプログラムのステップ換算)は、さらに1/2 程度になるだろう
  • 既存RDBシステムと切り離して使える、それを模倣出来る性能のモックを作るとすると、それだけで大仕事になる
  • プログラマーと兼ね合いで仕様制定にも絡むのだから、もらえる金額は多くしてもらわないと、割が合わない
  • つまり、プログラマーの人数が20倍以上(高性能モック作成は別途)必要で、費用も割高になる。

となる事が予想されます。

プログラマーはただでさえ希少なのに、(「はじめの内」では無いにせよ)テスト書くとなると、(希少性は大丈夫だとしても)費用は上がる様に思えてなりません。

プログラマーがテストを書けと言うなら、そういう事も考慮すべきだと思います。

 

 

結論

費用をかければ良くなる!