70~80年代のCOBOLシステムを支えたプログラマの引退が近づいているが、システムは動き続ける 114
ストーリー by hylom
そしていつかはロストテクノロジーに 部門より
そしていつかはロストテクノロジーに 部門より
taraiok 曰く、
1980年代には「COBOLは衰退するので、ほかのプログラミング言語に移行しなければならない」などと言われた。実際に1970~1990年代に書かれた細かなCOBOLプログラムのほとんどは新しいシステムと新しい技術に置き換えられている。しかし、銀行、保険会社、製造業、小売チェーン、医療機関といった大企業のミッションクリティカルなシステムは依然として大昔にCOBOLで書かれたコードによって運営されている。多くの企業はこれらのシステムを何度も入れ替えようとしたが、システムが全体が巨大で複雑な上、重要なビジネス・プロセスに統合されていること、また問題なく動いていることからこうした取り組みの多くは失敗した。
ITWORLDの記事によると、こうしたCOBOLで書かれたシステムを支えてきた団塊世代プログラマの引退が近づいているという(ITWORLD、本家/.)。
今は大学のプログラム講座などでは教えることがなくなったCOBOLだが、今後数年間でCOBOLプログラマは高い需要が発生する可能性があるとしている。
本当に必要だった物 (スコア:5, すばらしい洞察)
本当に必要なのは、COBOLを扱える人じゃなくて、
COBOLで書かれた業務を把握している人なのであります。
業務を把握している人がいなくなる前に何とかしてください……
Re:本当に必要だった物 (スコア:5, 参考になる)
ほんとこれ。
別にCOBOL自体は難しい言語じゃないんだけど、気の利いたことができない言語だから、
複雑な業務が整理されないままプログラムになっていることが多い。
(当時と今とではコーディング理論の成熟度が違っていることも重要なポイントかもしれない)
なので、ロジックは読み解けても、何がしたくてこんなロジックになっているかが分からんのよね。
Re:本当に必要だった物 (スコア:5, すばらしい洞察)
実は業務を把握している人はいなくて, 目の前の業務を場当たり的に電算化していったものの集積が, 現在の「システム」と呼ばれているものの可能性も.
20数年前に大手製薬会社のシステム再構築の分析工程で下働きをしていたおりでさえ, 最も苦労していたのが業務を「分かっている」(「知っている」じゃないのが大切なところ)人を各部門から集めることだったので, リストラとかで知識散逸が進んだ今となっては, もはやロストテクノロジーと化しているのではないかと.
Re:本当に必要だった物 (スコア:2)
Re:本当に必要だった物 (スコア:1)
現状のCOBOLソースやジョブから、業務仕様書を復元するサービスもあるらいですしね。
Re:本当に必要だった物 (スコア:2, 興味深い)
> もう業務をパッケージに合わせてやり直したほうが早いんじゃないの?
簡単に切り捨てられるもんなら、とっくにやっているw
> 手遅れになってからやっても、みづほみたいになるだけだし。
みずほの場合には、統合のため動いているシステムを短期間で
置き換えたのが問題。
なので、諸事情さえなければトラブルを出すことも無かった。
つーか当時のJavaなんか使わなかったら、あんなトラブル起きなかったよ。。
(あのスケジュールじゃ無理ってことで、断ったくちなんでw)
ちなみに、システム系だと新規物件でもCOBOLの需要があったりする。
何件かやったけど、システム設計さえしっかりしていれば、
他の言語よりCOBOLが採用されても不思議じゃないと思った。
(後から手を入れたら、きっとひどい事になるんだろうけど)
Re:本当に必要だった物 (スコア:1)
>簡単に切り捨てられるもんなら、とっくにやっているw
必ずしもそうではないんだけどね。
どの程度を簡単というかだけど、新しいトップと1年とか半年とか、そんなんでやりきっちゃう例が昨今もあるよ。
Re:本当に必要だった物 (スコア:1)
逆に「切り捨てられないわけがない」でしょ。
そこに込められてるのは「なんかよく分かんないリスクがありそうだから触りたくない」であって、
単なる思考停止に過ぎない。
そういうこと自体がリスクであり、リスクを雪だるま式に増大させるわけで。
そんな独自性が高くて複雑な業務なんて有り得ませんがな。
世界に似たような業務を行ってる会社がどれだけあるのか考えてみればいい。
切り捨てられる例外を無理やりねじ込むから、無駄に複雑になってるだけだっつーのw
結局、残存者利益だよね (スコア:3)
大昔にみんなが掘れるだけ掘ってうち捨てられた金鉱に住み続けて、
金の価格が上昇してまた採掘がペイする時期をじっくり待つような感じかな。
その仕事をやる人が減れば減るほど希少価値が出ておいしくなる。
保守部品のゲルマニウムトランジスタとか、
カッターに駆逐されたはずなのに1社だけ作り続けられている「肥後守」とかも似てますね。
でも、構造化もオブジェクト指向も無かった時代に作られたCOBOLのメンテナンスは厄介だろうなぁ。
あ、私COBOL出来ます。仕事ください。 (スコア:2, すばらしい洞察)
まあ本当に必要となればCOBOLくらい、1,2ヶ月もあれば覚えられる。
それよりも糞の役にも立たない山ほどのドキュメントと、仕様を
整理できる人材が必要かと。
Re:あ、私COBOL出来ます。仕事ください。 (スコア:3, すばらしい洞察)
「IT考古学者」みたいな新ジョブ誕生の予感
Re:あ、私COBOL出来ます。仕事ください。 (スコア:2, 興味深い)
機械系だと既にそう言う人いますけど
40年前に書かれた図面を発掘してきてきちんと作れるように手配する専門の人。
Re:あ、私COBOL出来ます。仕事ください。 (スコア:4, 興味深い)
自分が生まれた頃の図面でフランス語でしかも一角法で描いてあったりしてね。
米製や英製だとヤード・ポンドをCGSに直さなくちゃいけない。
修理や改造(図面が残ってなかったりする)で現物と当時の図面で異なる所が絶対にあるので全ての部品の寸法や継手1個ネジ1本確認しなくちゃいけない。
それからいちから製造できる様な図面を起こして初めて修理の指示と部品の手配ですよ。(TдT)
まあオレぶっ壊れてお払い箱になって、とりあえず手順書やなんかは残してきたんだけど後任者生きてるかなあ。
Re:あ、私COBOL出来ます。仕事ください。 (スコア:1)
>米製や英製だとヤード・ポンドをCGSに直さなくちゃいけない。
MKSでなくて?
Re:あ、私COBOL出来ます。仕事ください。 (スコア:2)
Re:あ、私COBOL出来ます。仕事ください。 (スコア:1)
Re:あ、私COBOL出来ます。仕事ください。 (スコア:1)
Re:あ、私COBOL出来ます。仕事ください。 (スコア:1)
そうやって超人的な力で読みこなしたとして、
それと実装がきちんと対応してるかどうか、それはまた別のお話。
# 森本レオの語りで
Re: (スコア:0)
覚えるのは簡単でも実績が無いと仕事はなかなかもらえない。
Re:結局、残存者利益だよね (スコア:1)
お祭り本番が近づいたら是非、詳しい案内のタレこみを。
秋になるまでに忘れちゃいそうなので…お願いしまうす。
COBOLみたいな初等的な言語は誰でもできる (スコア:1)
COBOLみたいな初等的な(しかも理解が易しい)言語は、いざとなったら誰でもできるんじゃないの?C++やJavaなんかと比べると言語仕様は圧倒的にコンパクトなはずだよね。一時的な上昇はあったとしても、そんなに進んで修練するほどの言語だとは思わないなあ。
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:5, 参考になる)
平均的なプログラマなら、2,3日あれば、とりあえずコードは書けるようになる。大学や工業高校・商業高校における教育は、平均的なプログラマの2,3日以下の内容だ。(プログラマに向いていない人は、諦めて別の職業に就くわけだ)
けれども、大昔に書かれた大量のコードを読んで、それを理解することは、それとは別の次元の話。大昔のメインフレームに合わた、今では廃れたテクニックも多用されているだろうし、それは泥臭い仕事。
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:5, 興味深い)
10年位前に某金融機関のシステム更新でCOBOLの部分を追っかけた事があるが、ぶっちゃけこんな感じ。
「やってることは判るが
やってる意図が分からない」
で、いろんなところを訪ねてまわると、「ああ、それは○○の××さんに聞けば判るよ」と。
タクシー飛ばしていくと、遙かな昔の会議の席上でのやりとりで○○さんの顔を立てる為に云々って
アンドキュメントな事が理由だったと…。
仕様じゃ無いけどしょうがないからみたいな。
そんなんばっかり。
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:1)
COBOLを学ぶとこの文章も理解できるようになるのだろうか。
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:3)
言語自体はわりと簡単だけど
何したいのか理解し難い言語かも?
だらだら回りくどく書いてるし、時代によっては難解なGOTO文の使い方したり。
なんつーか読む気力が失せてくるかんじ。
昔はCOBOLで書いたときもあったけど、
オブジェクト思考言語で慣れちゃってから読むのはとても辛いです。
Cも同じく回りくどいし難解な部分もあるけど、
Cじゃないとってところで使われているからテンション下がらないんだけど。
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:3, 興味深い)
COBOL自体は簡単なんですよ。
比較的自然言語(英語)に近い構文で、何をやってるか理解しやすいですし。
ただ、仕事でCOBOLにかかわった人にのみ解る、新の恐ろしさがあるんですよ。
それは・・・変数が 英字+連番 で、台帳管理されていること・・・
せっかく構文が英語なのに、変数が記号なんですよね。
おかげで可読性が高いというメリットが完全に殺されて、
記述が冗長なデメリットがさらに強調されている。
もうアホかと・・・
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:2)
#S40年代の物なんて英数2文字の場合が・・・・
COBOLを言語として語るのは素人 (スコア:3, 参考になる)
COBOL言語を覚えればCOBOLプログラミングが出来るように語るのは, 実用的なプログラミングを作ったことが無い証左のようなものです.
COBOLは確かに初等的な言語であるゆえに, システムにアクセスする部分, 例えばデータベースアクセス, 通信, ユーザインターフェイスといったところは, 全てメーカが提供するライブラリに依存します. そのため, COBOLで実用的なプログラムを書くためにはCOBOL自体に加えてそれらライブラリが何をするのか分かっていなければなりません. しかもライブラリはメーカ・OS毎に互換性が無く, 性能や実装に基づくバッドノウハウが山盛り. また言語が初等的であるがゆえに抽象化や隠蔽などのテクニックが使えず(せいぜいマクロプリプロセッサが使えるくらい), 呪文化されたバッドノウハウコードがダイレクトに散りばめられていることが多々あります. データベースに至っては, 下手すりゃCODASYL型DB [nikkeibp.co.jp]だったりRDBであってもSQLを使わない独自APIだったりするので, 今日的な技術知識では歯が立たないことも.
# というのを傍から見ていただけなのが私の幸運
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:1)
まあ、COBOLそのものは大したことないってのは同意ですが、
そんな初等的な言語で、複雑な業務をこなせるようなソースコードが書かれ、
初等的な言語にありがちな小手先のテクニックで最適化され、メンテされていた。
と想像すると、結構怖いです……
Re:COBOLみたいな初等的な言語は誰でもできる (スコア:1)
自分もCOBOLのソースを追いかけたことがあるけど、REDEFINESには結構泣かされました。
Re: (スコア:0)
COBOLをVB6に置き換えて考えてみよう…
COBOLやVB6に比べればC++やJavaの方がよっぽど優しいかもよ
#すごくうんざりした気分になった
結局、面倒くさいだけでしょ (スコア:1)
#結局、問題の原因はCOBOLじゃなくて、仕様がハッキリしないことでしょ
Re:結局、面倒くさいだけでしょ (スコア:2)
これ [wikipedia.org]の設計図を今更書けって言われてもできないでしょ
2007 (スコア:1)
前も、2007年問題とか言って、ほとんど同じ話が出てたよね。
確かにその前あたりから、COBOL置き換え系の仕事は、多いと言えば多いかな。
最近も、COBOLのプログラムを解読してデータを移行したりしてたけど、どっちかと言うと言語以外のところの方が苦労は多かったかな。計算の精度が妙に低いロジックになってて、結果が合わないとかね。
(仕様書っぽいものはあったけど、ご多分に漏れず、理由の分からない謎仕様が多い)
#次はRPGらしい。負けるな、俺
#このコメントは、ただの愚痴なんだ。すまん
Re:2007 (スコア:1)
>#次はRPGらしい。
ロールプレイングゲームですか?
30年程前ゲーム雑誌で読んでいて「なんでレポートプログラムジェネレータが?」と思ったことがあるオジサンより
Re:2007 (スコア:1)
>仕様書もないという噂
まさにダンジョン
>マジで最下層
バイナリのみとか
>項目名が最大6文字
一種の呪文ですか?
あまり近寄りたくないRPGですね
Re:2007 (スコア:1)
---- 何ぃ!ザシャー
そもそも効率の良さを目指していない (スコア:1)
システムによる効率化もユーザーがよくわかってなかったり、
あんまり効率よくなると人要らなくなるじゃんとかそういう理由であえて不便さを残したりしている場合もあり、そういうのがソースコードの混乱に拍車をかけている気がするよ。
#COBOLがすべてそうって訳じゃないけど、そういうところは確かにあった
需要があるならば (スコア:1)
「ちゃんと動いている」ような環境の保守の継続が必要という、ひとつの需要があるならば、そういった言語を動かせるハードの需要なり、ソフトそのまま移行できるような手法なり用意して専業にする人も一定数は出てくるんじゃないでしょうか?
#
何にせよ置き換えって難しいですよね。
『その要求は何の為にあるんですか?』
客「前のプログラマはつべこべ言わず全部やってくれたぞ!」⇒スパゲティ。みたいな、、、
----- ド素人につき突っ込み歓迎 アルミ製なので叩くと凹みます
2000年問題特需あったやん (スコア:0)
あのときの若手のIT土方たちはどうした?
Re:2000年問題特需あったやん (スコア:3, 参考になる)
業界の実態に嫌気が差してみんな辞めてしまいました。(実話)
Re:2000年問題特需あったやん (スコア:2)
わかってるくせに。
Re:2000年問題特需あったやん (スコア:1)
あの時にインドから来た人達は、西葛西でインド人街を形成してるそうです。
http://www.nhk.or.jp/bakumon/prevtime/20130130.html [nhk.or.jp]
# COBOLをやらされたか否かは謎。
Re:COBOLは素晴らしい (スコア:3, 興味深い)
当時は金と時間があった。
これに尽きると思います。
Re:COBOLは素晴らしい (スコア:1)
>当時は金と時間があった。
おそらく夢と希望もあったんじゃないですかね
Re:COBOLは素晴らしい (スコア:1)
枯れた技術であるか、とかいう意味で、
×新しい技術でさえ
○新しい技術だから
ではないかなあ。
Re:COBOLは素晴らしい (スコア:1)
COBOLだってFortranだってその時々の最新技術を取り入れて進化していますよ…
COBOL85,FORTRAN77の名前が残ってますしね。
入社した頃は既にCOBOL85だったけど、それ以前のソースをメンテナンスするときも、
動いてる部分には不必要に手を入れるな!と言われたもので。
# 別コメントにあるけどBCDの精度は半端無く高いので代替できない
---- 何ぃ!ザシャー
Re:COBOLは素晴らしい (スコア:1)
枯れた技術を使うのがデフォルトな軍用とメリットがあれば最新の技術を使う民間の旅客機を比較してもなぁ
Re:COBOLといえばあれが有名じゃないか (スコア:1)
これか [totto.to]。凄い...。知らなかったよ...。
Re:メインフレーマー (スコア:1)
どちらかといえば暗雲だけど。
# 仮想化の元祖もメインフレームだったり。