【IT】COBOLに罪はない トップ自ら情報戦略を
■ このスレッドは過去ログ倉庫に格納されています
日本の活力低下の一因はデジタル化の出遅れにある。まず手を着けるべきは、古びた情報システムの刷新だろう。改修できる人材の枯渇も迫っている。デジタル化による爆発的な変化に企業が適応するには、トップ自らが情報戦略を主導する必要がある。
「COBOL」というプログラミング言語がある。1959年に業務用に開発され、金融機関などの基幹システムでは依然として現役だ。統計不正で問題となった厚生労働省の毎月勤労統…
https://www.nikkei.com/article/DGXMZO48430390Z00C19A8TCR000/ 適材適所、COBOL や Java とかそれぞれの言語に向いてる処理がある。
COBOL で問題なく動いてる事務処理をわざわざ別の言語に書き換えるメリットなんかないだろうよ。
メンテなんて必要な時にはその言語を勉強してやればいいだけ。
特定の言語しか使えないやつがいるという前提がおかしい。 >>6>>7
おまえみたいに同じ内容でステップ数稼ごうとするヤツには無理 >>51
だからjavaでも同じだと
コードを維持するコストを出さなければどんな言語でも同じだ >>86
COBOLだと、リファクタリングがやりづらそう
昔からの言語仕様で作られているソースが大半だろうし、コボラーが新しい言語仕様で作り直すととても思えない COBOLを捨てろって言う奴は何の言語に変えるべきだと思う? >>88
別にCOBOLのままでもいいけど、オブジェクト指向を取り入れた新しい言語仕様で作れ
PHPだって、オブジェクト指向を取り入れて延命してるだろ >>87
JAVAのほうがやりづらいわい
やりやすい前提が崩れたJAVAだよ?ぐちゃぐちゃになっててあっちこっちソースが分断されてて、、、最悪だ!COBOLのがマシ! >>89
オブジェクト指向言語にオブジェクト指向じゃないコードが書いてあるのが現実だぞ >>53
新たに作るのは良いのだが既存システムを載せかえるのは困難を伴う。
文字コード体系の違いは大きい。 COBOLに関わる人はみんな後ろ向き
そんなCOBOL界隈が大嫌いです コボルは業務システムをパターン化したモデルに基づいて良く考えられている。
新しい言語はプログラミングし易くなっているが、この手の記述に向いている訳でもない。
問題があるとすれば、プログラミングが面白く無いんだよ。 >>92
そんなわけあるかい
めちゃくちゃなコードはどの言語だってめちゃくちゃだ
定期的にまずいコードを破棄してく保守がなけりゃどれだって最終地点はゴミクズさ >>97
めちゃくちゃなコードでも、オブジェクト指向にして、開発環境のミドルウェアを使いこなせば、保守効率は雲泥の差 業務で使うからってCOBOLで基本情報受けようとしたら無くなってる 最近の言語は5年くらいで刷新されるから、COBOLよりも危険だろ。
アプリ開発やパッケージシフテムならそれでなもいいけど、勘定システムでそれだと無理。 >>98
オブジェクト指向じゃねぇコードがめちゃくちゃにパッチ当て的に書いてあるんだよ!
20年も同じコード修正し続けたらそうなるの >>89
>>67
オブジェクト指向に幻想抱きすぎw どんな言語でもぐちゃぐちゃなら同じ、そしてコードは必ずぐちゃぐちゃになるもの。
だから定期的に業務要件がなくてもリファクタリングしないとだめ
しかし日本は委託請負でプログラム修正してるからそのコストを出さない。
だからどの言語を使っても同じ。
JAVAだってそろそろ問題になりつつあるだろ? 言語の良しあしは別として
年寄りのCOBOL好きは異常w
ていうよりCOBOLしか知らないと思う
オブジェクト指向言語とか言われたら
受け付けないんじゃないか? >>95
仕事やったことあるけど
そんなに簡単じゃない
MFCOBOLに移行してガワはJavaだったけど コボルのソースコードをPythonやJavaScriptに翻訳するソフトを作れば良い >107
COBOLなら一行で済む命令文が、PythonやJavaScriptでは10行〜になるのでは、可読性が落ちて、かえって保守に手間がかかるよ。 >>95
メインフレームは漢字コードの管理が大変。
データベースにはSI/SOが入って無くて、APP側で追加する(漢字コード領域の前後にあらかじめ初期値として入れておくので、処理としても書かれてないとか)とか普通にあるので、単にデータコンバートするだけでは、全然だめ。 >>108
組み込み関数は COBOL85から
ユーザー定義関数は COBOL2002から
それ以前は戻り値領域を定義して、PERFORMで処理を呼ぶとかする >>81
金融系は、プログラムにかぎらず、ガチガチの手順です。 >>81
って、>>1の問いかけを象徴してるな。
手間をかけて責任の所在を残してるだけで一切の合理性が無い >>114
金融系は扱っている金額が金額だけに、責任の所在を明確にしないとねえ >>113
事務処理計算を大量にこなすバッチ処理では、COBOL悪くないよ。
最も適している。
そのために設計された言語だし。 >>115
ソースコードを読めない奴が名ばかり管理してるからそうなるんだよ >>117
ソースコードが読めても、金融系の業務フローを知ってないとなあ。
>>116
60年前に設計されたものを「最も適している」と評価するあたりがCOBOL業界の問題なんでしょうねぇ >>12
> 必要なのは言語のコンバートじゃなく、業務の整理・単純化なんだけどね
これだよね >>69
ソフト系のその甘えた思想嫌い
機械なら死人出るわ COBOL++ とか COBOL# とか作ればよくね? >>123
じゃあ、ちゃんとテストの時間と人と金を出せよ ソフトはテストがすべて
外観がないからわかりにくい
だからテストだけが唯一の手がかり >>127
COBOL85で構造化とか、自由書式を取り入れている
COBOL2002 でオブジェクト指向も取り入れたので、今のCOBOL仕様は
かなり進化している。 Cobolではなかったけど
一行文字数の制限知ったときはぶったまげた >>119
帳票処理って、帳票1の項目Aを、帳票2の項目Bに転記する とかの繰り返しだから、
COBOLでそいういうコーディング書くのとても楽。
COBOLは帳票ベースの会計処理とかに最適化されてて、戸籍台帳の台帳処理とか、銀行の台帳処理とか
はやり方がほとんど変わらない。
税法とかの法律が変更されるにつれ細かい条件判断は増えていくけど、帳票処理自体は変わらんし。
京都市みたいに住民数が120万人で、住民基本台帳のマスタ更新と、税計算と、各種公的保険の請求・控除処理を
一晩でやり遂げて翌日は新マスタで窓口処理を開始するような大規模バッチはCOBOLが一番いいよ。 >>125
ファンクションポイント法とかあるけど、最終的に予算化するときには、人月にしないと予算化できない。 >>132
> 帳票処理って、帳票1の項目Aを、帳票2の項目Bに転記する とかの繰り返しだから、
>COBOLでそいういうコーディング書くのとても楽。
大体どの言語で書いても
copy B, A
とか
B(A)
みたいな感じになるのでそう変わらんと思うけど。 >>131
パンチカードがまづ先にあって、機械式の会計機械で処理していたのを、電子的に処理するためにメインフレームが開発されたからね。
>>138
その程度なら、フレームワークによってはコーディングレスかもよ >>132
その様な業務なら、今だとデータベース使う事になりそう
バッチにもむいているし、オンラインでの更新もあっという間 >>137
誤解しているようだけど、COBOLのバッチってデータベース使うんだよ。
IBMならDB2とか、IMDBとか。
昔はSAMとかを入出力ファイルとして使っていたけど、いまはデータベース。
他のシステムとSAM経由でやり取りしなきゃいけないときは別。
オンライン業務とバッチ業務は別だよ。
>>134
COBOLって、構造体のメンバーごとのCOPYとかしなくて済むし、
小数点の位置をいちいち考えなくていいし、構造体の構成が
異なっていてもちゃんと割り振ってくれたりする。
親->子->孫と多段の修飾を指定するも必要ないし。 >>138
そうなのか
今でも有編成ファイル扱うものだと思ってた
バッチって言う場合、処理量をある程度まとめた上で
リアルタイムではなく処理を行うものと理解してたけど プログラマーがそういうの意識する言語のほうが稀では >>136
そのフレームワークが今から50年前にあったら、そうだろうけど。
今フレームワークを使おうとするのなら、現在のシステムを0から作り直すということになるから、
それは現実的ではないな。
西暦<>和暦 の変換をJavaならライブラリ使って簡単にできるけど、そのためにシステムを0から構築しなおすかという問題。 >>130 そうなんだ。
じゃあ、.NET で使えそうだな。 マイクロソフトはVisualCOBOL.NETを出してくれや!(*ノω・*)テヘ MS製はなかったけどMicroFocusが出してたような気がする PythonやGoなどの新しい言語はバグやセキュリティに不安がある。だから基幹システムは枯れたCOBOLでやる、とかそういう理由なのかね。
保守的というか、システムを一度作ったらおしまいとか思ってるからそういう発想になるんじゃないか?
時代錯誤だよなあ。これだから日本のソフトウェア産業は未だに低レベルなんだな。 >>146
世界規模でみると、COBOLのソースは増えているよ。
PythonやGoは基幹システムの要件からすると、オーバースペックだし。
>>140
バッチ処理って、処理の区切りは日次、週次、月次、年次だから。 >>148
オンラインショップの中だと、分単位で動くバッチがあるように見える
それがCobolかどうかは分からないけど >>149
それはたぶん、普通のトランザクション処理だと思う。
IBMのメインフレームだと、小さいバッチジョブを頻繁に動かすCICSというトランザクションシステムがあって、
バッチだけど一見オンラン処理をしているように見せかけていた。
AJAX見たときに、「あ、CICSに先祖返りした」と思ってしまった。 >>21
オブジェクト志向が壮大な失敗と言われているの知らないの
ポインターも分からないプログラマにCでアプリを書かせてメモリエラーの山になったりクラスが作れない設計者にC++で設計させてどこを修正して良いか分からない状態にして日本だけでもIT産業衰退要因になっている >>124
そんな雑な管理じゃ、億単位の誤魔化しやっても責任不明で、
最悪は金融庁から行政処分食らうな >>148
今は、集計処理とかで、何時間かの間隔で自動起動させるのがあるよ 俺もCOBOLerだけど俺のポリシーはIF文は極力使わない
IF使うところはEVALUATE使ってた >>138
何デタラメでどや顔してんねんw
別にデータベースとは限らんわアホが 【IT】Flashに罪はない トップ自ら情報戦略を EVALUATE って、多くの言語では、CASE文ね >>160
どっちかって言うとswitch文じゃね?
caseってPascal系の言語とSQL位かと 仕様を決めたときに、言語は指定されるから、選択肢はないんだよ 今のCOBOLは、言語仕様上はオブジェクト指向言語であり、
各コンパイラにも大昔に実装されている
(でも、使われていない)
↑
これを知らないカキコ多し >>132
ようは使い道なんだよな
銀行のように大元の勘定系のような基幹部分周辺だけCOBOLで書いて
エンドユーザに送るデータはサーバへ送ってJAVAで書くとかした方が良い >>164
そうそう。
COBOLは大規模計算バッチとかとかの基幹系が得意なんだから、
フロントが得意なJavaとか.netとかと棲み分けしたら良いんだよ。
世界的にCOBOLのソースコード量がいまだに増えているのは、企業の基幹系はCOBOLが
必要だからだろうね。
アメリカのCOBOLプログラマの平均所得は年6万ドルらしい。 でも国家試験から外されたよなCOBOL
つまりそういうことだ COBOLって帳票を転写するための言語でしょ?
ぶっちゃけawkとかで代用できるよね
そしたらあとは速度だろうけどその辺はどうなの? こういう文系の記事をよむ度に思うのだけど、COBOLを潰せば日経が言う
「でじたるとらんすふぉーめーしょん」が進むの?
現状でもCOBOLが生きてるのは基幹系の奥底だけで、フロント周りはWEBだし、
メインフレームが持ってるDBデータはDB2だのSQL Serverだのにエクスポートされて
BIツールやら系絵分析システムやらが利用しているわけで
経理・人事なんかの経営管理系システムはそもそもメインフレームから切り離されて
パッケージ使ってるしな
むしろ刷新が進まずに現場が困ってるのはすっげー昔に組まれたUNIXシステムだったりする事の方が
多いんじゃないかと思うんだけど >>163
基本的に現場で使えるのはCOBOL85レベルだからな
コンパイラの設定からして旧バージョン指定だから拡張された機能は使えない事が多いし
そもそも、そういうニーズがあんまりない
というか、昔からビジネスロジックに抽象化とかOOPって要るのってのは、Java界隈でも言われていたような
気がするんだよなぁ(「美しいコードってめっちゃエロい!」みたいな人は置いておくとして)
一時期デザパタとか凝りまくったXMLが流行ったけど、最近流行りのPythonとかだとデザパタって何?みたいな
人も居るし、XMLもJSONにシェアをがっつり取られつつあるわけで
>>165
社内文書電子化システムが用意されても、今だに紙の文書を押印して社内便リレーするのをやめないジジイと、
それらのジジイに育てられた低脳社員の方が「でじたるとらんすふぉーめーしょん(笑)」とやらの敵だと思うわ >>168
awkはインタプリタだから遅いし、そもそもトランザクション処理できない。 >>169
いまや、Salesforceでオンラインシステム組んでいる官民も多いし、日経の言うデジタル化って意味が分からん。 AWS LambdaでCOBOLいけるっぽいから、Lambdaじゃきついバッチだけ置き換えて、COBOLで組まれたシステム続行じゃないのか?
そもそも官公庁すらパッケージ入れたり、クラウド使ったり、SaaSサービス入れたりしてる時代で、COBOL使ったレガシーシステム排除したからって大きく変わるのか?
某人事パッケージが市場寡占一歩手前になるようなユーザーの状態を先にどうにかしないといけないと思うが >>163
オブジェクティブなcobolは知ってるが、それならjavaやc#でいいじゃんという >>171
トランザクションにしたければ裏でDB動かせばいいし
ファイル操作の速度で言えば、インタプリタだろうと関係無いと思う >>170
デザパタはフレームワークが隠蔽して、アプリケーションプログラマはあまり意識しなくて良くなったかな。
いずれにせよ、既存フレームワークの上に案件独自の業務フレームワーク組む時などには有用。
抽象化とかOOPとか要らないと言ってる現場って、業務要件がソースコードにベタって書き下されてるだけで、
そこに開発コストの削減などの観点は入ってないんだろうと推測する。さすが金持ちだと思うけれども。 >>59
PCサーバは原則5年で保守打ち切り。
長くて7年。
しかも延長保守料が高くつく。 >>177
ミニコンの保守料ってPCの比じゃないでしょ >>65
そうですね。
言語開発者の意図をプログラマーが理解していないからねー。
算術演算だけの文系プログラマーは、論理が分かっていなよ。 実際経理やDBには向いてるんだよね。
書いたやつが居なくなっても他人が容易に保守できる。 >>175
awkで120万人分の住民登録台帳を1晩で更新できる? ■ このスレッドは過去ログ倉庫に格納されています