パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

COBOLで書かれた米国防総省の給与システム700万行、実質的に更新不可能」記事へのコメント

  • 流石にここでも飽きられたんじゃないのかと思うが
    スクラッチで作ろうとしたら失敗した、のほうが興味ひかれてるよ。

    • 普段COBOLとCOBOLプログラマーを叩いている人達が、さぞかし立派な解決策を提示するものと
      思っていたのですが、確かにアテが外れた印象です。
      • by Anonymous Coward

        COBOLでコードを書くからこういう悲劇が起こる。

        • by Anonymous Coward

          真面目に返信していいのか迷うが・・・

          CだろうとJavaだろうとRubyだろうとScalaだろうとSchemeだろうと
          ドキュメントが無い700万行が問題であって(言語によって同一機能にたいする行数は変わるがおいといて)、
          COBOLとかどうでもいい話だと思う。

          • by Anonymous Coward on 2013年07月15日 13時18分 (#2421535)

            ドキュメントが無くても、もっとましな言語を使っていたら結果は変わっていたかもしれない。
            グローバル変数の多用はやめましょうとか、大規模でも保守性の高いプログラムを作れる言語的仕組み・慣習・意識がCOBOLという言語、COBOLプログラマーには無い。
            COBOLもコボラーもKoboもゴミです。

            親コメント
            • by Anonymous Coward

              グローバル変数って何でしょうか?

              COBOL(少なくともこの場で論じられている様な古いCOBOL)ではパッケージとかプロジェクトとかの概念が無く、
              1モジュール1exeになる様なオブジェクトモデルで、モジュールレベルを超えた変数は、大記憶に持たせるか、
              引数で引っ張って来るかしか無いはずです。

              グローバル変数って何でしょうか? ないものの多用なんて出来ないと思います。

              • by Anonymous Coward
                その大記憶なんじゃないの?全体からアクセスできるメモリ域はグローバル変数。

                で、引数に渡せばいいものすら大記憶に格納している状態の事を言っているのだと思うけど。

                あとPERFORMも他言語の関数と異なり変数が保護されない(COBOLの仕様としては当然なのは知ってるけど)。
              • by Anonymous Coward

                でも、大記憶(マスストレージ)と言ったら、ぶっちゃけDBと言っても過言では無いと思いますが、

                やっぱりDBはグローバル変数と表裏一体の存在で、テストもしにくくなるし、悪い存在(よく言って必要悪?)
                だったですか。そうですか。

                #うすうすそうでは無いかと自分も思ってはいました。

              • by Anonymous Coward
                関数型言語ではI/Oは汚れたものですからね。
                COBOLはファイルがエリアにストンと落ちてくる印象なので一層グローバル変数っぽく感じられるかも?

                グローバル変数に近いのはLINKAGE SECTIONですかねぇ。使い方次第だとは思うけど。(ちゃんとサブモジュールから返ってきたら別のエリアに必要な項目だけ項目編集していれば問題はないとは思う)

                昔BASICやってた私としてはGOSUBみたいなPERFORMも怖い存在。VBでモジュールの上の方にモジュール内変数がわんさかあるような感じで。

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

処理中...