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

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

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

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

        そもそもプログラムがCOBOLで書かれている事が問題なのかどうか記事からは判断つかないな。

        • by Anonymous Coward

          元々アメリカでは大規模開発はほとんど失敗しているって統計もあったと思うから、別に今回が特別ではないと思うよ。

          OSみたいなものは、コード自体は多いかもしれないけど、少数で開発しているので大丈夫ってあったと思う。
          人が多くなるとダメなんだよね。

      • by Anonymous Coward

        解決策も何も
        ・システムのメンテナンスをする体制を整えましょう
        ・複雑な部分は業務も含めて見なおして、見通しを良くしておきましょう
        という基本的なところを守っておけばこんなことにはならなかったのでは。

        • by Anonymous Coward

          今でこそコンピューターシステム構築の基本かもしれないけど、昔はそんなこと考えつきもしなかったわけで。

      • 立派でもなんでもありません。
        大変なだけです。

        やはりCOBOLとCOBOLプログラマーはダメですね。
        ほれみなさい。こんなクソシステムを作った。
        迷惑をかけるばかりです。

        • by Anonymous Coward

          本当にそれが解決策ならいいんですよ。

          ただ完全にそれが嘘なのが問題なんですよ。

          インターフェースとか矮小な部分のみに拘泥して、
          全く解決になっていないのが問題なんですよ。

          クソはクソなりに実態あるソリューションなのに、
          それ以下なのが問題なんですよ。

      • by Anonymous Coward

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

        • by Anonymous Coward

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

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

          • by Anonymous Coward

            ドキュメントが無くても、もっとましな言語を使っていたら結果は変わっていたかもしれない。
            グローバル変数の多用はやめましょうとか、大規模でも保守性の高いプログラムを作れる言語的仕組み・慣習・意識が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でモジュールの上の方にモジュール内変数がわんさかあるような感じで。
        • by Anonymous Coward

          COBOLでもCでもJavaでもRubyでもScalaでもSchemeでも無く、
          他のどの言語でも無く、
          合意に元づく設計が諸悪の根源の様に思います。

          下手に合意をすると、それを根拠にして数千万のサーバーを
          何台も買ったり(「この合意を実行するためには必要」)されて
          お客も懲りまくったのかも知れませんが、

          本当に合意してくれる範囲が減っています。

          そのため、V字モデルの3つの頂点の近傍辺り(合意の取れた仕様
          と、合意の取れた仕様に直接対応するプログラムの最も基本的な
          部分と、合意の取れた仕様を検証するシステムテスト)以外は
          無管理状態になってしまうのが通例です。

          JavaならRubyなら合意が取れるか? オンサイトにお客を常駐させ
          れば合意が取れるか?

          さすがに現在では無理かも!!!USは日本より進んでいるので、
          そういう事態も先に経験しているとか。。

      • by Anonymous Coward

        海外COBOLぇ話ですね。

にわかな奴ほど語りたがる -- あるハッカー

処理中...