COBOLなら、オレに聞け! <1>
■ このスレッドは過去ログ倉庫に格納されています
0001おちこぼらー
NGNG0159デフォルトの名無しさん
NGNG身の無いレス。kusakabeにレスしたの間違いだったYO!
0160デフォルトの名無しさん
NGNG0162( ゜∀゜)! ◆BqWvGuoc
NGNGありがとうございます。頑張って勉強します。
数�TでBASIC、、、。
聞いたことが無いんでわかんないですけど、
そんなことされたらもう、、、。泣)
今はトレースが頭の中でややこしくなってます。笑泣)
0163コボルド
NGNGVBA本とかC本とかちらちら見てはいますがよくわかりません。
COBOL(モドキ)歴半年、そもそもコンピュータを仕事で使い始めてやっと3年。
画像アサリ歴なら4〜5年ですが(笑)。
JAVAもおもしろそう。
0164落第(人)生
NGNG正規表現とかにも興味があるんですが、標準ライブラリにそういったものはありますか?
0165落第(人)生
NGNGH社のメインフレームでの実装はありますでしょうか?
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG検索エンジンで「COBOL 文字列連結」で検索してみましょう。
0170個鯔
NGNGどれもCOBOLには向いていません。それらに向いている言語でやれば
多分100倍以上生産性が高いでしょう。
0171( ゜∀゜)! ◆BqWvGuoc
NGNG先生に聞いてみました。
あるみたいですBASIC。
みんな大変だね、、シミジミ
0172デフォルトの名無しさん
NGNGA PIC X(5) VALUE ”12345”
B PIC X(5) VALUE ”ABCDE”
C PIC X(10)
MOVE B(1:5) TO C(1:5)
MOVE A(1:5) TO C(6:5)
とやると変数Cの中身は”ABCDE12345”になる方法
0173デフォルトの名無しさん
NGNGCをREDEFINESで5&5に分ける手もありますね
0174おちこぼらー
NGNG0175おじさんは詳しいぞー
NGNG0176デフォルトの名無しさん
NGNGCOBOLを学校でやっているのですが、興味を持ち家庭でもやりたくなりました。
学校ではCOBOL専用エディタとコンパイラでやっているのですが
どこからダウンロードすればいいのかやり方を教えてください。
(捜したけど英語が読めなくてさっぱりでした。)
0178コボルド
NGNG何かCOBOL85互換のようなことが書いてあるんですが。
0179おちこぼらー
NGNG不思議な環境ですね・・・・・(不勉強ですいません)。
0180名無し三等陸曹 ◆PDTHtNro
NGNGCOBOLモドキ? なんだろ? HimalayaのCOBOLか?
でも「汎用機」って言うからな……
# そもそも、彼は何を言いたいのだろ?
0181高校生
NGNGじゃないかなぁ?それで仕事してるからモドッキって事なんだろう?
さすっが面白いことするじゃね〜!!>コボルド
0182コボルド
NGNG文字列の連結に関してですが、なぜかうちの環境では二つの文字列の
連結ができない(???三つは出来るのに)ので、その部分だけ
STRING文を書いてます。
180さん。特別主張があるわけではありません(笑)。ほそぼそと
続いた、ただの環境の説明。わたしの亀レス&レス先未記入のため
わかりづらかったですか。
0183デフォルトの名無しさん
NGNG0184名無し三等陸曹 ◆PDTHtNro
NGNG了解です。
> 文字列の連結に関してですが、なぜかうちの環境では二つの文字列の
> 連結ができない(???三つは出来るのに)ので、その部分だけ
> STRING文を書いてます
私の場合、文字列連結は素直にSTRING文でやってましたね。
COBOLってよく叩かれるけど、なんでだろうね? 大手通信会社の課金計算
システムとか大規模データベースの新規案件でも、COBOLが主力で使われる
ケースは結構多いんだよな。それだけ信頼性があるってことなんじゃないかな。
システム屋は、いかに効率がよく、保守が楽で、かつ信頼性の高いシステムを
設計・構築するかがすべて。実装うんぬんは二の次だと思うが(個人的に)。
# でも、「COBOL糞」って思うこともあったなぁ。
# 昨年、中堅カード会社のシステム(10数年前に構築された)の修正支援に
# 手下を率いて逝ったんだけど、あれはひどかった酷かった。
# ソースはスパゲッティ(しかもコメントほとんど無し)、仕様書もスパゲッティ
# (以前の変更箇所が別の紙にあって、仕様書に無秩序に張り付けてあった)。
# システム構成図もスパゲッティ。おまえ150円やるから1から作れって言いたく
# なった。私も手下も半泣き状態。地獄だった。
長文スマソ
0185おちこぼらー
NGNG> COBOLってよく叩かれるけど、なんでだろうね?
なんででしょうねぇ?なんちゃって。
何となく叩いている人の言うことも分かるんだけど
COBOLERだからと言うことに限定も出来ないような気がする。
# おやじCOBOLERがプライド高くて使えない。
# OOを理解しないからむかつく 等々
おやじはプライド高い。おやじは理解力が衰える。
数十年後、今、叩いて居る彼らが新しい技術に直面して
若い技術者に同じように叩かれる。
多分そういうモノ何じゃないでしょうか?
COBOLが終わったという論調の記事も多かったし。
プログラミングの解説でCOBOLが出てくるような話はほとんどないし。
良く知らない人にはマイナーだから叩きやすいって言うのもあるのかも。
って叩かれる論議をすると荒れちゃうかも。
なんか地道にageてる荒らしちゃんもいるし(と火を付けてみる)
0186デフォルトの名無しさん
NGNG> COBOLってよく叩かれるけど、なんでだろうね?
言語仕様のせいじゃん?
むかーし研修でやったくらいしか知らんのだけど、ネストしたif文が.一個で
全部終了するというのを聞いて目が.になったよ。
今のは違う? OOCOBOLとかCOBOL97、COBOL2002の仕様ってどっかで見られる?
0187おちこぼらー
NGNGすまん、何を言ってるのかさっぱりわからない。
「一個で全部終了する」っていう部分の一個っていうのは何をさしているの?
というか終了するのはif文?だよね・・・・・。
うーん。ますます謎だ・・・・・。
0188186
NGNGIF BAR
ELSE
.
ネストした内側のifを終らすために.を書くと、
外側のifまで終っちゃうということ。
かなり前の話なんで正確じゃないかも知れん。
0189名無し三等陸曹 ◆PDTHtNro
NGNG> むかーし研修でやったくらいしか知らんのだけど、ネストしたif文が.一個で
> 全部終了するというのを聞いて目が.になったよ。
確かにコンパイルは通る(と思う)のだが、これはバグの温床になるので、IF と
END-IF は必ず対にして使うべき。
「そういうこともできる」程度に思っておいたほうが良い。
# 新人がそんなプログラム書いてたら蹴りを入れてやりましょう(w
0190おちこぼらー
NGNGなるほど。昔はEND-IFっていうのが無くてそう言うことがあったみたいですね。
今は三等陸曹(自衛隊の人?)が書いてくださっているようにIFとEND-IFを
対で書くようにと教育されています。というかEND-IFってモノができました。
>>189
蹴りは入れないであげてください(涙
0191名無し三等陸曹 ◆PDTHtNro
NGNG昔はそうだったみたいですね。COBOL85以降(だったかな?)では、
IF 〜 END-IF を対に使わないとコンパイル中に WARNING が出た
ような気がします。
******************************
*** コンナカンジカナ? ***
******************************
IF HOGE = DEF-1
MOVE DEF-A TO VALUE-AREA
MOVE DEF-B TO FLG-AREA
IF FOO = DEF-9
*** サマリ ノ サクセイ
PERFORM KEISAN-SEC
END-IF
*** カキン ケイサン ショリ
PERFORM KAKIN-SEC
END-IF.
# ちなみに、私は自衛隊とは無関係です(笑
0192おちこぼらー
NGNGWARNINGがでるんですか。
今までEND-IFを書かなかったことがないので出た覚えがないです。
外PERFORM先のラベルが<処理名>-SECなんですね。
私がいままでやってきたところでは<処理名>-RTNが多いかな?
KEISAN-SEC SECTION.
KEISAN-RTN SECTION.
対して変わらないですね。どっちでもいいな♪
0193デフォルトの名無しさん
NGNGまったく理解できない。
0194おちこぼらー
NGNGほぉ、一つのDB(テーブル)のレコードレイアウトが20有るって事?
それって別DB(テーブル)にはできないのかなぁ?興味深い。
たとえばどういう場合なんだろう?
1つのテーブルで20のまったく異なった状態に対応させるってどういうのだろう?
0195デフォルトの名無しさん
NGNG> COBOLってよく叩かれるけど、なんでだろうね?(中略)
> システム屋は、いかに効率がよく、保守が楽で、かつ信頼性の高いシステムを
> 設計・構築するかがすべて。
これに COBOL が向いていると思っている人がいるから叩かれるのです。
信頼性は別として、作成、保守効率は現存の言語でも最低ランクでしょう?
さらに私の見た例では…
>>193が言ってるような事を Oracle でやっちゃってる人がいました。
もちろん REDEFINES なんてないから文字列ですよ。
本当に、もう、勘弁してください。
叩きたくて叩いているんじゃないんです。
はやく「そんな時代もあったね」って笑える時代にして下さい。
せつにお願いします。
0196名無し三等陸曹 ◆PDTHtNro
NGNG> WARNINGがでるんですか。
記憶があいまいなので、、、(藁
COBOL は COMPAQ のHimalaya 上でしか使ったことがないので、
他社の汎用機ではどうなのか、よく知らないです、、、
あと、セクション名は、客先によってまちまちでしたね。
べたべたなローマ字だったり(中堅カード会社)、
セクション名の頭に必ず数字がついてたり(大手通信事業者)。
セクション名の付け方はプロジェクトのコーディング規約で規定
されてることもあったので、変な名前つけて、後でSEからゴルァ電話
がかかってきたりしました(w
>>193
なんとなく想像がつく……
あな、恐ろしや……
仕様変更を何十にも重ねた末にそうなったんでしょうな、きっと。
0197名無し三等陸曹 ◆PDTHtNro
NGNG> 信頼性は別として、作成、保守効率は現存の言語でも最低ランクでしょう?
そうかなぁ? コーディングについては、一度雛形を作ればコピペでなんとか
なっちゃう場合も多かったよ。
保守効率については、、、言えてるかもしれん(w
10年以上前に構築されたシステムは、仕様書読んだだけで吐き気を催すもの
もあったっけ(凄まじいスパゲッティ状態。可読度最悪。ある意味テロ)。
> >>193が言ってるような事を Oracle でやっちゃってる人がいました。
> もちろん REDEFINES なんてないから文字列ですよ。
その仕様を作った人間は、狂ってるとしか思えない(ワラ
ケツバットの刑ですな
0198195
NGNGコピペが悪なんです。
まず再利用できないかを考えなくては。
そして再利用を考える事は、
環境が再利用を許さない COBOL ではとても厳しいのです。
みなさんも一度 Java あたりを勉強される事をお勧めします。
まともなプログラムが書けるようになれば、現在の言語に比べて COBOL がいかに非力で非効率かがわかると思います。
(Javaでもクソプログラムは書けますので、GoFの23のパターンを理解するくらいまではやらないと駄目です。)
どうかここを見ている真性 COBOLER の方々が
REDEFINES みたいな考え方の元に RDB のテーブル定義をしませんように。
私の知っている COBOL あがりの方々はみんなそれで当然のような顔をしていらっしゃったので。
0199名無し三等陸曹 ◆PDTHtNro
NGNG> まず再利用できないかを考えなくては。
少しは考えてますよ。
私がいた会社では、汎用的な部分(日数計算、閏年チェックとか)は、
部品化して再利用してました。開発部隊の方針による部分が大きいかと
思います。
> みなさんも一度 Java あたりを勉強される事をお勧めします。
> まともなプログラムが書けるようになれば、現在の言語に比べて COBOL がいかに非力で非効率かがわかると思います。
Javaねえ、Himalaya でも動くけど、はっきり言えば、速度が出ないのよ。
通信会社の課金データベースなんかは、信頼性はもちろん、速くないと
話にならないのね。
> どうかここを見ている真性 COBOLER の方々が
> REDEFINES みたいな考え方の元に RDB のテーブル定義をしませんように。
禿しく同意。ただ、これはそういう設計をする人間がDQNであって、
COBOL自体に罪はないことをお忘れなく。
0200高校生
NGNG其処まで云うと一般的なコボラーには絶望的。こちらが開発したフレーム
ワークの上でおとなしく言われたとおりのコーディングしてもらうしかない。
最低1年はOO言語に慣れてもらわんとGoFはいたずらに混乱を招くだけ。
オブジェクトをRDBにマッピングするためには、それなりのスキーマ
になってないと困るんだよね。。。そこをコボラーに握られちゃうと
オブジェクト指向による分析も設計もおじゃんになっちゃう。
あなた方が改宗するまで正直言って一緒に仕事できません>コボラー
0201高校生
NGNG>部品化して再利用してました。開発部隊の方針による部分が大きいかと
かなり感覚的にズレていることを自覚してください。間違ってもOO技術者
にそれを再利用などとは言わないでください。アホだと思われて相手にさ
れなくなります。
(オブジェクトの設計はデータベースの設計と同様に重要と心してください)
>COBOL自体に罪はないことをお忘れなく。
だからこそあなた方の無関心な態度がことさら頭にくるのだと思うが?
0202名無し三等陸曹 ◆PDTHtNro
NGNGつーか、COBOL 使った大規模システムしかやったことのない人間に
Java で構築するシステムの設計をやらせる会社がDQNと思われ
# 以前折れが所属していた部署は、COBOL、C中心のシステム開発部隊と
# Java、VBなどを中心に使うWeb系開発部隊に分かれていた。
# 部署名こそ同じだが、指揮系統は完全に別。交流はほとんどなし。
# 要するに、お互い隔離しあってる(w
0204名無し三等陸曹 ◆PDTHtNro
NGNG> だからこそあなた方の無関心な態度がことさら頭にくるのだと思うが?
無関心? なんのことやら
ただの煽りかい?
煽りたいだけなら死滅スレへ逝ってくれ
# 自分の価値観を人に押しつけるのはやめれ。
# COBOLにはCOBOLの、VBにはVBの、DelphiにはDelphiの、
# そしてJavaにはJavaの世界があるのよ。
# 路線バスとロードスターを同列に扱うようなことして、虚しくないかい?
0205高校生
NGNG># 自分の価値観を人に押しつけるのはやめれ。
価値観を変えてくれと云わざる得ない人間の気持ち考えたことある?
0206デフォルトの名無しさん
NGNGどっちにしても迷惑な話だ
0207名無し三等陸曹 ◆PDTHtNro
NGNG> レスがフリップフロップ状態だな>名無し三等陸曹
うん、そだねー。
> 価値観を変えてくれと云わざる得ない人間の気持ち考えたことある?
変えさせるのは貴方のお仕事。頑張って変えてくれ。God bless !!
> >私がいた会社では、汎用的な部分(日数計算、閏年チェックとか)は、
> >部品化して再利用してました。開発部隊の方針による部分が大きいかと
> かなり感覚的にズレていることを自覚してください。間違ってもOO技術者
> にそれを再利用などとは言わないでください。アホだと思われて相手にさ
> れなくなります。
> (オブジェクトの設計はデータベースの設計と同様に重要と心してください)
言い忘れたが、COBOLの世界では、こういうのを「再利用」って言うんだな(w
大いにバカにしてやってくれや(ww
# >>202 で書いたお互い隔離しあってる部署の中で、折れは両方の部隊に
# 在籍した数少ないPGだった。いろいろ勉強になって面白かったよ。
# 過去形なのは、もう会社を辞めたので。今はC++なただの無職だ。
# 一連の話は激しくスレ違いになってきたので、いろいろ言いたいことがあるなら
# 死滅スレへ頼みます。ヒマだったらレスつけるよん
今日は、デパス飲んでもう寝ます
0208デフォルトの名無しさん
NGNG「達人プログラマー」所持してないので簡単にどんな内容か書いて欲しいなあ。
どんな内容かちょっと興味ある
0209198
NGNGこんな感じです。
----------------
あなたの知識と経験はあなたのプロとしての資産の中で最も大事なものなのです。
しかし、そういった資産は残念な事に有効期限付きなのです*注。あなたの知識は新し
い技術、言語、環境が開発されると時代遅れのものとなっていくのです。市場の変化は
あなたの経験を陳腐でまとはずれなものにするのです。「Web時間」という歳月の流れ方に
よって、こういったことはきわめて早く起こるのです。
*注有効期限付きの資産とは時とともにその価値が減少していくものです。例えば倉庫いっぱいのバナナとか野球のチケットと同じです。
----------------
達人プログラマー アンドリュー・ハント/デビッド・トーマス著 村上雅章訳
より。
0210209
NGNG> コボラーの皆さんは
> 「達人プログラマー」の12ページの下から2行目から13ページの8行目まで読んで下さい。
> その上であなたが回りから「コボラー」と呼ばれる事の意味を考えてみてください。では
という内容でした。
0211193
NGNG>ほぉ、一つのDB(テーブル)のレコードレイアウトが20有るって事?
そのとおり。マルチフォーマット(?)というやつです。
入力ファイルが1つで、先頭何桁か(うちは3桁)にデータの種類をあらわすコード
が書いてあり、それ以降にデータが続いている。先頭のコードが001なら商品マスタ、
002なら商品部類マスタといった具合に、コードによってレコードを識別して、
REDEFINESしたエリアからデータを取得します。
0212193
NGNG0213おちこぼらー
NGNG面白いね。
マスタなら別DBにしてキーを付けたほうが効率が良いように思うんだけど。
昨日はCOBOL不要論で盛り上がったんですねぇ。
一杯レスが付いていたので驚きました。
0214高校生
NGNGハァ?COBOL不要なんて一言もいってないが。。。コボラーの態度が問
われているのだと思うが?
自己投資しないくせに自分の学習曲線が上昇しない理由を教育する立
場の同僚のせいにする。
「私には出来ない、君が直接作業したほうが効率がいい」
と「こいつほんとに技術を取得する気があるのか?」と疑いたく
なるようなことを口走る。。。
0215おちこぼらー
NGNG> 自己投資しないくせに自分の学習曲線が上昇しない理由を教育する立
> 場の同僚のせいにする。
はぁ・・・・・。
で?それはCOBOLERだからそうなのだという結論に達したのは何故?
あと、時々高校生ぶるのは何故?
0216195
NGNG> あと、時々高校生ぶるのは何故?
これは私と高校生さんを同一視していらっしゃるという事でしょうか?
もしそうだとしたら勘違いです。
(私も今朝このスレ見たとき、私が寝た後から高校生さんの発言が続いてたので、私多重人格かなんかになったかな、とちょっと心配しましたが)
まぁ高校生さんも私も CobolerHatable (Hateableか?) インターフェイスを実装してそうですね(ってヲタ的会話を入れてみる。)
0218216
NGNGだとしたらよかったです。
「攻撃側」は私と高校生さんくらいに見えたので、
あれ?誤解されてるかな?と思いました。
0219名無し三等陸曹 ◆PDTHtNro
NGNGOOマンセー厨が、いいかげんにしろ
煽りは死滅スレでやれや
同じ事何度も言わすなヴォケ
●●COBOLって死滅しちゃうの????●●
http://pc.2ch.net/test/read.cgi/tech/1008408669/
0221名無し三等陸曹 ◆PDTHtNro
NGNG見てきた。そのうえで言う。
高校生氏らの言うようなDQNコボラーは、確かに存在する。スパゲッティな
仕様書&ソースをさも当然のごとく渡し、「んじゃ修正たのみます」と言われ
たときはビルの屋上からダイブしたくなった。
だが、そうでない人もたくさんいるのも事実だ。私の元上司は、オヤジ世代
で若い頃はCOBOLのPGだったそうが、新しい技術に興味を持ち、積極的に
学んでいた。
自分の周りの人間だけ見て、「COBOLやってる奴はバカ」と総括するのは、
筋違いもいいところだと思うがどうよ?
0222186
NGNG> たときはビルの屋上からダイブしたくなった。
ダイブするんじゃなくて、させてやれって(藁
> だが、そうでない人もたくさんいるのも事実だ。私の元上司は、オヤジ世代
> で若い頃はCOBOLのPGだったそうが、新しい技術に興味を持ち、積極的に
> 学んでいた。
>
> 自分の周りの人間だけ見て、「COBOLやってる奴はバカ」と総括するのは、
> 筋違いもいいところだと思うがどうよ?
まぁCOBOLに限らず、「これしか知らん、他のもんはどうでもいい」って奴が
腐れってのは確かだと思うが。
0223名無し三等陸曹 ◆PDTHtNro
NGNG> まぁCOBOLに限らず、「これしか知らん、他のもんはどうでもいい」って奴が
> 腐れってのは確かだと思うが。
まさしくその通りですな。
オヤジのDQNコボラーは、「自分はロートルではない」or「ロートルだと認めたく
ない」という思いが多少なりともあると思う。
自分が今までやってきたことがすべて否定されてしまうような気になるのだろう。
だから、やたら頑なになったり、しまいには逆ギレしたりするんだろうなぁ。
(教える立場の)高校生氏の言いたいことは、よくわかるのよ、実は。
頭の固まってる人たちにOOを仕込むのは、精神的にかなりつらいと思うよ。
だって、折れも経験者だから(w
# おれは元COBOL使いという立場上、COBOL擁護(になってるか?)をしてるに
# すぎない。
# ただ、ここはあくまで「COBOLプログラミングの相談スレ」なんだなー。
# だから、この手の話は死滅スレがふさわしいと思うのね。
# それだけです。
0224デフォルトの名無しさん
NGNGダイブさせる前に、そのCOBOLerが作ったプログラムの仕様書を
きちんと書かせておくことだね。DQNなシステムの仕様はすべて
DQNオヤジの頭の中… そいつがいなくなるとますますスパゲッティ
になっちまうぞ(藁
0225デフォルトの名無しさん
NGNGダメだって、シルバーDQNは痛わってやんないと。
つーか、ソースもいっしょにダイブさせて書き直すよろし。
0226名無し三等陸曹 ◆PDTHtNro
NGNG「死の行進」でもやってるのかな?
糞コードの相次ぐ修正で、精神的にやばい状態ですか?
まあ、この業界、年末はいろいろといそがしいからね。
皆様、ご自愛を。
0227おちこぼらー
NGNG逆に調子はどうですか?
こないだ(>>220)はホントにびっくりしましたよ。
私はまたーりとやっております。
ネタも尽きたみたいだししばらくまた落ちていくと思いますが
またあがってきたらよろしくね。
保全書き込みは私にお任せあれ。(考えてみれば一時期落ちる寸前だった)
0229デフォルトの名無しさん
NGNG0230名無し三等陸曹 ◆PDTHtNro
NGNG会社ごと、あるいは大規模なプロジェクトでは、たいていコーディング規約が
あると思うのですが、「なんだ、この規約は!」と思っちゃうような規約って
ありますか?
私が以前携わったプロジェクトでは、追加、変更箇所をすべてコメント文にして
残して置かねばならない、という規約がありました。
その結果、3000行のプログラム中、半分はコメント文の嵐というひどい状況に
なってしまいました。
下にソースの例を書いておきます。可読性は最低最悪(w
******************************
*****<< ソース ノ レイ ダヨモン >>*****
******************************
IF REC-TYPE OF FOO-REC = DEF-1
MOVE ZERO TO RTN-CD
ELSE
MOVE DEF-1 TO RTN-CD
****** PHASE 2.0 1998/07/11 ADD START ******
IF W-HOGE OF FOO-REC
******** < PHASE 2.1 2001/08/11 UPDATE START > ********
**** MOVE SPACE TO W-PARAM
MOVE DEF-6 TO W-PARAM
PERFORM 2110-FILE-CREATE-SEC
****** PHASE 2.2 2001/11/11 ADD START ******
PERFORM 2120-FILE-CHECK-SEC
****** PHASE 2.2 2001/11/11 ADD END ******
ELSE
**** MOVE C-NANIKA TO W-PARAM
MOVE DEF-ERR TO W-PARAM
****** PHASE 2.2 2001/11/12 UPDATE START ******
**** PERFORM 2111-ABEND-SEC
PERFORM 2210-REJECT-SEC
****** PHASE 2.2 2001/11/12 UPDATE END ******
******** < PHASE 2.1 2001/08/11 UPDATE END > ********
END-IF
****** PHASE 2.0 1998/07/11 ADD END ******
END-IF.
>>229
軍事板? シャア専板? どっちもROM専です(ププ
0231デフォルトの名無しさん
NGNG私が以前いた某会社のプロジェクトもそうでした。
コメントだらけのプログラムを修正する苦痛に耐えかねて
修正前にコメントを削除したソースリストを用意したりしたものです(w
あと、ここまで規約で決めないとだめなの?って思ったのが
「"PIC"は40カラム目から」
0232おちこぼらー
NGNGただ修正日は73カラム目以降に入れてましたね。
>>230の例でいけば11〜12行目までが
*** MOVE SPACE TO W-PARAM 010811
MOVE DEF-6 TO W-PARAM 010811
こんな感じです。
0233デフォルトの名無しさん
NGNGバージョン管理システム使えよっつーと、「ツールに頼りたくない」んだそうで。
じゃハンドアセンブルしろみろよ、テメーら。とか思う。
0234名無し三等陸曹 ◆PDTHtNro
NGNG悲鳴をあげたため(でも、やれと言ったのはお客さんだよん(ワラ)、履歴を
残すのは今回の修正分だけ、ということになりました。
>>230 の例で言えば、PHASE 2.2 での修正部分のみで良いってことです。
*********************************
*****<< スコシ ハ マシ ニ ナッタYO! >>*****
*********************************
IF REC-TYPE OF FOO-REC = DEF-1
MOVE ZERO TO RTN-CD
ELSE
MOVE DEF-1 TO RTN-CD
IF W-HOGE OF FOO-REC
MOVE DEF-6 TO W-PARAM
PERFORM 2110-FILE-CREATE-SEC
****** PHASE 2.2 2001/11/11 ADD START ******
PERFORM 2120-FILE-CHECK-SEC
****** PHASE 2.2 2001/11/11 ADD END ******
ELSE
MOVE DEF-ERR TO W-PARAM
****** PHASE 2.2 2001/11/12 UPDATE START ******
**** PERFORM 2111-ABEND-SEC
PERFORM 2210-REJECT-SEC
****** PHASE 2.2 2001/11/12 UPDATE END ******
END-IF
END-IF.
プログラムの場合は、>>231 さんのような対処法がありますが、
仕様書でこれをやられると、かなり鬱になりますね。
0235oldcoboler
NGNG可読性がどれも悪くなるほど変更は無かったように思います。
他に面白いのはIF文でTHEN無しのELSEを書いてはいけないと
か MOVE と TO はカラムを揃えないといけないとか共通
のサブルーチンがある場合は必ずそれを使わなければいけな
いとか おかげで来月の年月をだすのに20ステップも費やし
たりしておりました。
前の2個はどちらも可読性を悪くする場合があったのでばか
ばかしい規約に思えました。
0236デフォルトの名無しさん
NGNG> 他に面白いのはIF文でTHEN無しのELSEを書いてはいけないと
これってifの条件を逆にするということ?
0237デフォルトの名無しさん
NGNG> これってifの条件を逆にするということ?
そのとおりです。
例を示すと
IF 正常終了の条件
ELSE
エラー処理など
END-IF
というような書き方がだめで
IF NOT (正常終了の条件)
エラー処理など
END-IF
というような書き方をしろということです。
正常終了の条件が単純なら同じことですが
これに AND OR が続くと面倒くさい。
0238236
NGNGうーん、COBOLじゃなくてCなんだけど、しばらく前に
if (hogehoge) {
} else {
//処理
}
というのを見てブチ切れそうになったんだけど、どうよ?
> IF NOT (正常終了の条件)
> エラー処理など
> END-IF
むしろこっちのほうが普通に思えるんだけど。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGIF文は条件によって2方向に分岐するもの
であれば分かりやすい条件式を書いてそれで2種類の処理を書けば良い
それをTHENが無い場合は必ず分かりにくくなると思って作ったコーディ
ング規約を変だといっているのです。
私もELSEだけ書くことはあまりありませんが論理式が複雑になった場合
たまに使います。
>>239
同意です。
0241236
NGNG規約が変というより、そういう書き方をしようという神経の方が信じられん。
0242( ゜∀゜)! ◆BqWvGuoc
NGNGその方がプログラムがすっきりするとか、しないとか。
あんまり長くなると見るのもウンザリするのかも?
とその時は思ったりもしましたが。
高校だからか、たいしたプログラム作ってないんでそのせいかも。
0243デフォルトの名無しさん
NGNG>if (hogehoge) {
>} else {
> //処理
>}
↑の構文だと"!"を見落としてハマってしまうことはないよね。
確かに冗長性のあるウザイ構文ではあるけど。
0244デフォルトの名無しさん
NGNG君たちがいつまでもコボルばっかりやってくれてるから
俺は最新の言語を楽しめる。
0245デフォルトの名無しさん
NGNGTHEN と ELSE は必ずペアで書くという変なコーディング規約の
あったところが会社がありましたね。何処かは忘れたけど。
IF AAA = BBB
処理
ELSE
* 処理なし
END-IF
はっきり言ってウザイ
0247デフォルトの名無しさん
NGNG言語仕様がコロコロ変わったり、処理系が数年で無くなったり
バージョンアップして互換性が無くなったりする最新の言語は
実務では使えませんね。
ま、言語としては面白いけど。
0248デフォルトの名無しさん
NGNG>>241
> すまん。
> 規約が変というより、そういう書き方をしようという神経の方が信じられん。
規約を作った人間と同じ反応だ。なぜ信じられんのかという理由を書いてくれ
おれはELSEだけ使ったほうが設計書に近い書き方になる例を見せてやった。そ
れ以来この規約は有名無実になった。
どちらで書こうとたいして変わらない、ときには分かりやすくなる場合もある
ことを絶対にダメだとする規約は変だ。
0249デフォルトの名無しさん
NGNG>おれはELSEだけ使ったほうが設計書に近い書き方になる例を見せてやった。
どういう設計書なのか、見てみたいと思ったり。
0250デフォルトの名無しさん
NGNGほとんどコードと一対一で対応するような、
効率の悪い設計書なんでねーの?
で、それに合わすために不自然なコーディングをして、
「こっちのほうが設計書に近い」とか言ってるのかも。
0251oldcoboler
NGNG入力レコードの内容をチェックして正常であれば次の処理
でなければエラーメッセージを出してABORTするようなもので
正常な条件が書いてあればこうなる。
0252デフォルトの名無しさん
NGNGこう?
IF 入力レコードが正常
処理
ELSE
エラーメッセージ
ABORT
ENDIF
0253通りすがり
NGNG(正常なので)何もしない
それ以外なら、
例外処理
とかいうのはどうだろ。
ド・モルガンの法則で条件をORに変えたりすると、
何かの間違いで開始日と終了日とが交差してた場合の挙動が変わってくるし、
括弧を二重に使って NOT で否定というのは、非常にウザいかも。
0254oldcoboler
NGNG処理がない場合がこれにあたる。たまたま処理が無いだけで違った書き方を
強制する規約はおかしいのではないか?
せっかく機能があるのだから使えばいいではないか。
>>253
同意
おかしな例を揚げて話を変な方向にしてしまったが、もとの考えは問題が
あって解決方法がある。最初から解決方法に制限を設けるのはおかしいの
ではないかといいたかった。
COBOLは分かりにいが強力な機能が少ない。COBOLに限らなければ再帰は分
かりにくいから使うな、ポインタはわかりにくいから使うな、オブジェク
ト指向は分かりにくいから使うな、というのと同レベルの規約に見える。
0255デフォルトの名無しさん
NGNGドキュソな COBOLer は、コーディング規約の本質的な部分を理解出来なくなってしまった。
そして、いつのまにかコーディング規約が一人歩きを始めた。
コーディング規約の本質的な部分を理解出来る COBOLer は何処へ逝ってしまったのか?
彼らは、Web Server Side プログラムの世界で生き残っている。
彼らは、ホスト・オンラインシステムとWeb Server Side プログラムが
本質的に何も変わらない事を知っている。
0256デフォルトの名無しさん
NGNG○ ホスト・オンラインプログラム
0257デフォルトの名無しさん
NGNG> 何かの間違いで開始日と終了日とが交差してた場合の挙動が変わってくるし、
って
> 日付が開始日以前 OR 日付が終了日以後なら、
を
> 日付が終了日以前 OR 日付が開始日以後なら、
と間違うっつーこと? それは正常条件を判断する式にしたってもちろん挙動は
変わってくるから関係ないのでは。
0258デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています