novtanの日常

ネタです。ネタなんです。マジレスする人は撲滅すべき敵です。だからネタだってば!

ゾンビなCOBOLとEUCでの処理づくりの話

COBOLなんて使っているから統計データのアレがアレみたいなニュアンスの記事が書かれてしまいにゃ「言語のせいで」悪い文化ができてるようなニュアンスで書かれてるんだけど、これがまた「やってみた」の部分とは何の関係もない話をしている。
tech.nikkeibp.co.jp

んで、思いっきりツッコミを受けてるよね。
www.nurs.or.jp

まあ、そんなことよりも、件のニュースを聞いたときに心あるベテランSIer(この条件は非常に大事なので普段PythonとかRとかを使っている人はお呼びではない)「え?統計データの処理でCOBOL使ってるの?しかもユーザーサイドで書いてる?」と思ったに違いない、という話のほうが重要である。勝手に重要としたけど、実のところどうでもいい話だけど。

COBOLが「業務要件がそのまま書けるのでプログラマーがいらなくなる」と喧伝されたのはコンピューターが扱う業務要件が極めて狭かったことに起因していると思うけれども、そんな夢は実現しない一方で、特に勘定系・会計系の業務部分が書きやすかったこともあって(だってC言語で桁数が多い小数含む10進の数値計算したくないでしょ?それ何って人はお勉強)そういう重大なところにかなり使われて今に至る、というわけで。業務プログラム自体は単純なものも多いのでJavaへのストコンが流行っている、というのが最近のマイグレ案件(でも、オープン系COBOLに置換することもよくある。別に業務ロジックはそれでもよいのだ)。
でさ、いずれにしてもコンパイル型の言語である以上、小回りは利かないし手続きも多いし、ちょっとしたことには面倒くさいじゃない。特に統計系に関しては古来からSASとかSPSSがあるのだし、ユーザーサイドでも触りやすい。EUCのちょっとしたプログラムはSASで作ってることも結構多いと思うんだよな(銀行でキャンペーン打つときの対象データ解析とか。今はBIツールに切り替えているところが多いかもしれないけど)。だから、「今更COBOL」とは全く違う意味で「EUCでCOBOLをつかうなんてきがくるってる」と思ったわけですよ。

と思ったけど、SASもSPSSもライセンス高いんだよね。今どきのシステムならRとか使えば良いんだろうけど。

で、今どきのシステムとしてはCOBOLで作るのが最適ではないシステム、というのが割合としては殆どになってきていると思うけれども、別にCOBOLでいいじゃん(既存の業務要件を握っている人もCOBOLできるし)みたいな仕事もたくさんあるわけです。COBOLの悪い文化みたいなものは別にCOBOLじゃなくても発生するし、程度の低いプログラマーは結局どの言語を使おうがシステムを崩壊させることが可能です。だから、その件は単純にコストの問題、と考えるとよいわけ。どの言語を使ったときにそういったリスクも含めてコストが最適であるか、ということね。COBOLは汎用プログラミングには向かないだろうし、だからシステム的な制御を書くのも難しいし、使い所は限られると思うけど、その使い所がボリュームとしては多かった、というのがこれまでのITなわけですよ。そういう基幹系のシステムはフロント系のビジネスをやっている人が触れる機会はこれからもあまりないだろうし、次の更改タイミングでは圧倒的なCOBOLER不足によりついにCOBOLから脱却(お願いだからJavaへのストコンはしないでほしいが)するだろうけど、一方で若いCOBOLERを擁したSIerがもしかしたら基幹系の覇権を握る未来があるかもしれないけどね(その前に基幹系aaSに切り替わりそうだけどね。基幹系を自前で持つ、というのはかつては競争力だったけど、そろそろ単なるコストセンターになりそうだから)。