何気ない記録

なんとなく自分の意見を書き記すときにつかいます。つまり不定期更新です。

それはプログラムの問題ではなく関係者全ての数学的基礎能力が欠けていただけ

 

勤労統計問題の原因は「COBOLプログラムのバグ」 – アゴラ

一応COBOLを書けるものとして言わせていただくと、あの言語については見通しはよい言語なので、実行環境依存であるという環境周りの話しを除けばそもそも言語としては非常に単純で特殊性はないのだが誰がこの情報を?

 

単純に数学的知識が乏しかっただけの話しが、なぜかプログラム言語の特殊性のような話しにすり替わっている。

 

まず、勘違いして欲しくないのは、COBOLという言語は、書いてみればわかるが非常に単純で、一定の言語仕様、それも比較的単純なものを覚えれば書く事について負担のかかるようなものではない。

唯一の制限は比較的環境周りの書き方がお作法と呼ばれるレベルのものが環境依存である為、そういった点については経験がなければそもそもわからないし、ネットで調べても情報が出てこないという難点はある。また、シンプルな言語である為、計算式を言語を用いて展開するという点について難点があり、他の言語のように数式ライブラリを使えば一発、というような単純さはないという問題もある。

(なお、採用しているバージョンによるが一応そういったライブラリもある)

 

高齢者しかわからないとかのたうち回っているようだが、今の40歳あたりの工業系高校出身者であれば、普通に情報処理検定をCASLEまたはCOBOLで受けていた人も多いだろうし、読むだけならおそらく実務経験が無くともできる。資源へのアクセスや環境周りの操作が理解できないという点を除けば。

 

よって、単純に何が問題であったかといえば、恐らくは数式を展開する、数式の結果を検算するという基礎的な数学的な知識と実務的な確認を怠ったというだけでの話しで、プログラム云々もCOBOL云々も関係ない。

おそらくものがEXCELで作られていても、PHPで作られていても、Rubyであっても同じで、ただ単純にそういった処理が必要な事を完全に理解できていなかった、であったり、ご本人も述べているようにアウトプットから考えるとそういった処理が抜けてるんじゃない?というような事に気付けるだけの基礎的な数学的知識が現場全員、つまりプログラムを書いた人間だけでなく、それの結果を受け取った人間も含め、第三者からの指摘がはいるまで誰もそういった事が起きている事に気配すら気付けていなかったというだけの話しです。

 

何か着るとプログラムがーとか、エンジニアがー、と言いますが、そもそもそういったデータの検算というのは、昔から一定の値を用いてのブラックボックステストをすることは普通で、その場合のサンプルデータはそもそもエンジニアが準備するわけでもないのですよ。

 

つまりは、ボックス化すべき中身と、インプットする想定とアウトプットされる結果についてどのような期待値であるかを想定できるような人間が現場にだれもいなかったというだけで、単純に関係者全員がそういった仕事に向いていないというだけのことかと思いますよ。

 

それ以上でも、それ以下でもない、ただそれだけのこと。