【コボル】COBOL不要論【ただのDSLだよね?】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2011/09/20(火) 00:06:43.84
COBOLでCOBOL書ける?
0121デフォルトの名無しさん
垢版 |
2011/10/04(火) 20:13:23.64
請求金額の端数処理とかあきらかにバクってても、直すと怒られたりする。
いままでと金額が変わると取引先側で稟議が必要とやらで大変なことになるとか。
言語リプレースしてもその仕様は引きずって、意図的にバクを再現する必要があったり。
0122デフォルトの名無しさん
垢版 |
2011/10/04(火) 20:42:52.13
>>119
ドキュメント、何それ?状態だったから、影響範囲が不明なんだよ。
結局、怪しいデータだけ手管理になつた。
一つだけ良かったのは、扱いにくいデータを怪しいデータ扱いして開発の手間を減らせた事。
0124デフォルトの名無しさん
垢版 |
2011/10/07(金) 18:57:00.31
データの手管理って、
データベースを開いて直接データを操作してるってこと?
それともマスターメンテ画面を作ってそこから操作してるのかな?
0125デフォルトの名無しさん
垢版 |
2011/10/10(月) 18:37:09.61
コボルで書かれたシステムのデータの一部を統計解析するので
このソース読んでデータの抽出方法を考えてきてくれ
と言われて, トータル5k行くらいのソース渡されたんだが,
いざコードを読もうとすると, 脳みそが拒否反応を起こして
睡魔が襲ってきます

データ定義だけ読めば何とかなるもんですか???
0126デフォルトの名無しさん
垢版 |
2011/10/10(月) 19:06:52.48
>>125
たかが5000ステップくらいで拒否反応起こすような整理能力の無い脳みそでは
言語関係なくそもそもプログラマーとして向いていないと思う…。

まぁコーダーなら話は別だが…。
0127デフォルトの名無しさん
垢版 |
2011/10/10(月) 21:04:04.85
5000行なんてたいした事ないけど、
構造化されてないスパゲッティなプログラムだったら死ねる。
0128125
垢版 |
2011/10/10(月) 23:06:12.20
>>126
フツー, 他の言語だと1kに満たない行数で書いてあるんだが
0129デフォルトの名無しさん
垢版 |
2011/10/10(月) 23:29:14.42
5kはJava脳とかだときついかもな。
cでもしmain関数が5000行あったら気が狂うが、
さすがに構造化くらいされてんだろ?
0130125
垢版 |
2011/10/10(月) 23:34:05.78
>>129
FORTRANの5kは全然区にならないんだが
つか, FORTRAN屋だよ, 本職は
0131125
垢版 |
2011/10/10(月) 23:37:58.06
>>130
# echo 'FORTRANの5kは全然区にならないんだが' | sed '/区/苦/'
つか, java 何かで統計解析やったら日が暮れる
0133125
垢版 |
2011/10/10(月) 23:56:55.17
>>132
ほしいのは, どのファイルのこの部分をどの部分を取り出せば良いかの情報
一つのファイルに収まっていなければ, 他のファイルも同様に再帰的に読んでいけば良い
と思ったんだけど, そうはいかない???
0134デフォルトの名無しさん
垢版 |
2011/10/11(火) 00:00:59.07
ステップ数の長いプログラムは、面倒であっても紙に印刷してマーカー引いてる。
画面とにらめっこしても埒が明かないよ。
0135デフォルトの名無しさん
垢版 |
2011/10/11(火) 00:06:59.75
Fortran屋かー。なんかCOBOLやJavaとは対局な業種ってイメージだw
ところで充分目的が定まってるのなら専門の担当者にヒアリングした方が早いと思うぞ。
絡まってるところが皆無だったとしても、見当つけるのが一番早いのはそのコードに関わってた奴なんだし。
Javaでいくら綺麗に組まれてても、細切れファイル追いかけまくる作業は眠いしな
0136125
垢版 |
2011/10/11(火) 00:29:05.72
> 専門の担当者にヒアリング

なにぶん, 現在それがいない(システムをメンテするときはコボル屋さん
の会社に出してるらしい)ので, わけのわからない言語(lisp とか ml
とか haskellとか)を趣味でつつき倒してるおれにお鉢が回ってきた

DATA DIVISION, どのファイルに書き出してるかと
調べ始めたんだけど, いつも使ってる言語と違って構文違いすぎ
# おれにはついていけませんwwwWW

つか,
``lock もかけずに同じファイルに書き込んでるみたいなんだけど, これだいじょうぶなの???''
``おれのほしいデータは最終的にどのファイルに集約されるの???''

って, な感じで謎は深まるばかりです
0137デフォルトの名無しさん
垢版 |
2011/10/11(火) 00:51:26.87
なんか並んでる言語名見る限り、考え得る限りもっとも場違いな人選されたんじゃないですかね。
排他制御はシステムが面倒見てるはずだから気にしなくていいと思うけど、必要なデータがどこかに集約されてるとは期待しない方がいいかも。
初期設計時に想定してない集計だからこそ業務として発生し、依頼されてるのでしょうし。
不得手なら面倒でもフローチャートを書き出したほうが早いかもしれません。
0138デフォルトの名無しさん
垢版 |
2011/10/11(火) 00:56:36.33
数学屋に事務処理言語のまま渡すってどうなんだ
建築デザイナーに図面とつるはし渡すかのようなシュールさを感じるw
0140デフォルトの名無しさん
垢版 |
2011/10/11(火) 19:40:21.03
コボルでフェラチオソフト作りたいよ。
わかりません
0141デフォルトの名無しさん
垢版 |
2011/10/11(火) 20:25:40.92
COBOLかー
もう15年やってないなあ

そんな漏れは今モータ制御で交流理論と機械力学の勉強中
言語はC++が一番好きだけどたまにCOBOLが懐かしく感じる
0144デフォルトの名無しさん
垢版 |
2011/10/11(火) 22:29:22.28
いまのCOBOLは小文字でもOKじゃなかったか。
なんか前に古い汎用機のリプレイスでORACLE移行とかやったけど
変数名を全部ORACLE−DBに合わせてたな。(キャメルケースって奴?)
0145デフォルトの名無しさん
垢版 |
2011/10/12(水) 13:28:16.64
>>1
>>7
COBOLでCOBOLコンパイラ書いてるという噂は私も聞いた。
0146デフォルトの名無しさん
垢版 |
2011/10/12(水) 13:30:23.70
世界初のLISPインタープリタは、FORTRANで書かれたそう。
0147デフォルトの名無しさん
垢版 |
2011/10/12(水) 13:31:53.86
何を何で書いてもいいんじゃない?
0152デフォルトの名無しさん
垢版 |
2011/10/12(水) 21:56:39.00
汎用機とシステムのセット販売で大企業の強大なバックアップを受けられることがウリのCOBOLで
フリーの実装って需要あんのかね。
まあ学習用か。
0155デフォルトの名無しさん
垢版 |
2011/11/06(日) 22:16:26.92
COBOL汎用機から、クラサバにリプレースしたものの、中身はエミュレーターでCOBOLが動いているのを知った時の絶望感は異常。
0157デフォルトの名無しさん
垢版 |
2011/11/07(月) 11:48:58.00
ん?汎用機COBOLをクラサバCOBOLへ移植したんじゃなくて、
サバ(UNIX or Windows)上で汎用機のエミュレータが動いているの?
0158デフォルトの名無しさん
垢版 |
2011/11/08(火) 01:31:21.24
そして、GUIも
ドロップダウンメニューで選んで送信ボタン
ってのが裏で
画面のこの位置にカーソル持ってきて数字入れてえんたー
って実行されるように出来ているんだろうなあ。
0161デフォルトの名無しさん
垢版 |
2011/11/08(火) 22:48:08.95
COBOL to Javaの自動変換ツールは山のようにあるけど
余り利用されてないのかな?
すくなくとも言語にまつわる問題は一気に解決しそうなんだけど。
0162デフォルトの名無しさん
垢版 |
2011/11/08(火) 23:21:50.88
>>161
未だに古いシステムをリプレースできてないところは、そもそもシンプルな仕様変更さえ超怖い状況下にあるものばかり
コンバートしてテストして稼働出来るような部品であれば、都合さえつけばとっくにコンバートもシステム移行も終わってると思いますぜ
0163デフォルトの名無しさん
垢版 |
2011/11/08(火) 23:38:35.00
とある業務系では
if 1989
...10ベージ位の処理
if 1990
以下ry)と延々と、しかもプログラム中に散りばめてあった。
0165デフォルトの名無しさん
垢版 |
2011/11/09(水) 00:43:05.77
あんま想像したくないけど、まさか西暦別で処理書いてんの?w
流石に遺産コードにしても担当者生きてたら怒鳴り付けたいレベルですなあ
0167デフォルトの名無しさん
垢版 |
2011/11/09(水) 00:53:57.61
年度・法律が変わると、帳票の指定様式が整合性無視で変わるという、涙物。
しかも、年度によっては複数年度過去まで遡って累計が必須。
唯一の救いは、過去に出した計算結果は絶対に変えてはいけないので、補正分データを追加すれば良かった事ぐらいかなw
0168デフォルトの名無しさん
垢版 |
2011/11/09(水) 02:11:49.09
一般的コボラ程度の涙ぐましさですね。
もちろん担当者様を揶揄しているわけではありますん

最後に関わったN系、その手の笑い話状態のプログラム減ってた気がする
遺産の重さに負けず、頑張って書き換えてる人はいるみたいだな
0169デフォルトの名無しさん
垢版 |
2011/11/09(水) 06:11:47.74
>>167
COBOLに限らず、現実的な業務APの開発現場であればありがちな話の気がします

仮にJavaやC#のようなOOPだと、帳票という概念を分析した上で、
・帳票 -- 抽象クラス
  ・1989年度版帳票 -- 具象クラス
  ・1990年度版帳票 -- 具象クラス
のようなクラス継承にするのかな?
0170デフォルトの名無しさん
垢版 |
2011/11/09(水) 23:30:12.40
何で一つのプログラムにいろんな処理を無理やり突っ込む作り方をするのかな。
処理を細かく分けれて組み合わせて作れば、メンテの負担も減るのに…。
すごく腹が立つ。
0171デフォルトの名無しさん
垢版 |
2011/11/19(土) 08:43:15.71
COBOL85 のコンパイラ書いてみようと思ってるんだが、
COBOL85 って LALR(1) じゃ解析できないよね?
0175デフォルトの名無しさん
垢版 |
2011/12/13(火) 14:37:48.70
同じ語で別の意味持ってたり、省略可能な項目も結構あるから字句解析も構文解析も面倒な予感
0177デフォルトの名無しさん
垢版 |
2012/02/10(金) 23:32:20.20
スレチなのだがCOBOLで20年ホスト系で働いてた隣のおっちゃんが、パッケージ化されてきたからクビになった。っていってたんだけど。どういう意味?
0179デフォルトの名無しさん
垢版 |
2012/02/15(水) 19:45:57.72
>>178 これ、新刊だね。
0184デフォルトの名無しさん
垢版 |
2012/02/19(日) 22:02:27.25
思い返すとCOBOLについては一切身銭を切ったことがないけど、
困ることが何もなかったのは色々と考えさせられますな。
最近の流行の言語は機能は豊富だけど、学習コストが高すぎるのよね。
IDEや入力補助がないとコードを書きあげられないのはどうなのかしら。
0185デフォルトの名無しさん
垢版 |
2012/02/22(水) 01:44:05.16
いや、最近の言語でもIDEなしでコード書けるし、
むしろコボルってIDEとか入力補助ないような非効率な開発を
まだ続けてるんだという驚き。
0187デフォルトの名無しさん
垢版 |
2012/02/22(水) 06:28:54.82
で最近のPGがよく口にする「関数が無いから組めません(キリッ」となるわけですねw

まぁ最近の開発はGUI部品を貼り付けてクラスや関数をスクラッチして作成する簡単なお仕事だからな。
ちゃんとコードが書けるPGなんてPG全体で1割いるかどうかだからな・・・。
0189デフォルトの名無しさん
垢版 |
2012/02/22(水) 12:32:15.26
>>186
趣味で(興味本位で)COBOLを触ろうなんて奴は、めったにいないから無問題

というか、COBOLでオプソなんて、ORCAくらいしか思いつかないけど、
他にもあるのかな?
0191デフォルトの名無しさん
垢版 |
2012/02/22(水) 13:55:52.63
昔いたコボルの現場で日付の論理チェックのサブルーチンで「日付チェックのクラスが無いから出来ないです!」といって
バンザイしてたC++プログラマなら見たことあるよ。
0193デフォルトの名無しさん
垢版 |
2012/02/22(水) 23:05:40.64
「負数の数を含む剰余」ってどう定義されていますか?
処理系間で互換性はありますか?
0194デフォルトの名無しさん
垢版 |
2012/02/23(木) 00:13:07.60
かつては金融機関の勘定系(基幹系)システムは全部COBOLで動いていた。

設計思想が古かったり、2000年問題の主役の一人だったりで>>1みたいに嫌っているプログラマー多し。
だが、COBOLが愛される最大の理由は信頼性だろ
バグ1個で億単位の損害が出る分野には枯れた技術や枯れた言語が一番
こういうのだとバグが少ない(はず)
埃かぶったWindows3.0とかが取引先で現役とかザラですし
クレジットカードのシステム全部COBOLで動いてるらしいぞ

COBOLがダメな理由がない限り使い続けるほうがいいに決まってる。

最新の〜〜だったらこんなこともあんなこともできてー
ってたいていは必要の無い機能だし。
COBOLerとかいって笑う人多いけど、おまえら3000万口座で24時間365日絶対に止まってはいけないし
計算を間違えてはいけないシステム設計したことあんのかよ。

東京海上日動の新システムはCOBOLを採用
http://itpro.nikkeibp.co.jp/article/NEWS/20080906/314277/
COBOLこそスピード経営に必要 BY ジャパネットたかた
http://itpro.nikkeibp.co.jp/article/COLUMN/20100319/345984/
0195デフォルトの名無しさん
垢版 |
2012/02/23(木) 06:17:43.98
>>194

COBOLが嫌いな理由、コーディングしても楽しくない、ライブラリが充実していないので全てコードを自分で書かないといけない。
あとステップ数が異常に多くてコードが難解。

> COBOLerとかいって笑う人多いけど、おまえら3000万口座で24時間365日絶対に止まってはいけないし
> 計算を間違えてはいけないシステム設計したことあんのかよ。

なんで24時間365日絶対止まってはいけないの?OSのアップデートなどでWindowsを定期的に再起動するでしょ?
コボラーの常識ではアップデートなしの危険な状態で運用するのが当たり前なのw

普通は止まってはいけないシステムを設計するより止まっても支障ないような設計にするのが当たり前なのに・・・。
0196デフォルトの名無しさん
垢版 |
2012/02/23(木) 09:18:04.25
しかし言語が作られて何十年も経ってるのに、
未だにライブラリが揃ってないというのはどういうことか。
0197デフォルトの名無しさん
垢版 |
2012/02/23(木) 09:28:59.54
>>194
人間が作る以上、バグを無くす事なんて不可能だし
たとえプログラムにバグがなくてもOS側の問題でトラブルが発生するんだから365日無停止のシステムなんて構築不可能。
0198デフォルトの名無しさん
垢版 |
2012/02/23(木) 21:49:12.03
確かにCOBOLは計算一つ行うために延々と定義みたいな処理を何十行も繰り返さないといけないというヤバイ言語だな

だがコイツなら0.1を正確に表すことができるから
新人でも浮動小数点使って誤差出す初歩的なポカをやらなくて済むじゃん。
銭の計算は10億で1円の誤差でもアウトだから。
0200デフォルトの名無しさん
垢版 |
2012/02/23(木) 22:12:36.55
>>197
バグ1個で万とか億とかの銭が大量に動いたりしたんじゃ、ヤバすぎるだろwww
0201デフォルトの名無しさん
垢版 |
2012/02/23(木) 23:39:36.42
お前らそろそろVISUAL COBOLについて語ろうぜ
0202デフォルトの名無しさん
垢版 |
2012/02/23(木) 23:49:27.19
> 銭の計算は10億で1円の誤差でもアウトだから。
なんでなんだろうね。商取引も相対誤差ε以下は許容するとかなって
いるといいのに。
0204デフォルトの名無しさん
垢版 |
2012/02/24(金) 00:02:07.87
>>202
いや、今でも誤差は許容してるんじゃない?
10進で何桁未満は切り捨てor四捨五入みたいなように決めておいて。
0205デフォルトの名無しさん
垢版 |
2012/02/24(金) 00:05:40.78
本当にあるこんな話

A「私、金融系のシステムリプレースやってるんです」
B「へえ〜、COBOLからJavaに置き換えるのですか?」
A「いいえ逆です。JavaからCOBOLに置き換えるんです」
B「えっ????」
A「Javaから、COBOLです」
B「(゚Д゚)ハァ?」
0206デフォルトの名無しさん
垢版 |
2012/02/24(金) 00:24:37.73
この業界に長くいると時々出くわすね
技術力はあるんだけど
「お金の計算をするシステム組んだことないんじゃないの?」
って人
0209デフォルトの名無しさん
垢版 |
2012/02/24(金) 01:33:19.11
スーパーでも24時間営業の店とかあってNCRのノンストップ・コンピュータ(HP社に吸収されたタンデム社のOEM品?)を使ってるよね
0210デフォルトの名無しさん
垢版 |
2012/02/24(金) 01:47:14.48
>>204
いや、そういうんじゃなくて小数点7桁の数値を単純に数百万回加算しても誤差が出ないという話では?
初期のパソコンによく使われたZ-80とBasicの組合せでは0.001を単純に1000回足しても1に為らずに0.997とか0.999になってしまうものだった
0211210
垢版 |
2012/02/24(金) 05:16:39.68
確かi386とBasicの組合せ(OSはMS-DOS)でも出たような記憶があるんだよなあ
勿論1000回ぐらいじゃ出ないんだけど・・・
0212デフォルトの名無しさん
垢版 |
2012/02/24(金) 07:54:27.71
今、Excel2000のマクロで0.0001をFor〜Next文で一万回足したら…orz
0213デフォルトの名無しさん
垢版 |
2012/02/24(金) 21:28:24.87
>>210>>212
0.1 を 1 万回足してもなかなか 1,000 ちょうどにはなってくれない場合がある。
コンピュータが 2 進数で動いていることの証拠なのだが、金融の世界ではかなり困ったことになる。

2進演算では、小数点以下の丸め誤差が発生してしまうためだ。

金融業界は怖いぞ〜、この業界では超巨大な銭を扱っていて、
さまざまな金融商品を数十兆円単位で取引しているが・・・
0.1%の誤差があるだけであっという間に数百億円単位の損害を叩き出す大惨事になるというとんでもない世界
だから金融業界ではBCD演算が必須

COBOLは言語の仕様でBCD演算をサポートしているから銭の勘定では他の追随を許さない安定性がある。
他の言語でもできないというワケではないが、初めからついてる奴と、後付けの差は大きい。
要するに「そろばんや電卓での処理」をそのままプログラムに落とし込めるから金融系では確実に使える

蛇足だが、MSX(大昔の8ビットパソコン)にもBCD演算機能が存在する
0219デフォルトの名無しさん
垢版 |
2012/02/25(土) 06:22:16.80
何か勘違いな部分もあるようなんで…
COBOLは言語の仕様で固定小数点演算(Binaryだと浮動小数点演算より高速だが有効桁が小さい)
扱える形式
Binary
BCD(pacdデシマル)
ゾーンデシマル(文字型数字)
何れでも小数点ありの変数として計算可
0220デフォルトの名無しさん
垢版 |
2012/02/25(土) 06:22:41.72
何か勘違いな部分もあるんで
COBOLは言語の仕様で固定小数点演算(Binaryだと浮動小数点演算より高速だが有効桁が小さい)
扱える形式
Binary
BCD(pacdデシマル)
ゾーンデシマル(文字型数字)
何れでも小数点ありの変数として計算可
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況