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

COBOL生誕 50 周年、しかしまだまだ現役」記事へのコメント

  • COBOL資産の他言語移行が進まないのは、
    銀行や証券・生保など金融機関の勘定系システムで多く利用されているため
    スケジュールと人員面で移行が困難なせいもあると思います。
    特に金利計算なんかはブラックボックス化していて下手にいじると収集がつかなくなったりして。

    今COBOLで問題なく動いているものを、不要なリスクを背負ってまで他言語へ移行する理由もない、
    と経営層は判断するでしょうし。

    バッチ処理に強いとか言われるけど、日本語環境ではいまだに全角/半角文字の混在処理が苦手だったり、
    GOTO多用で簡単にスパゲッティコードになったりするのはいい加減勘弁して欲しいです。

    でもまだ当分現役なんだろうな・・・
    --
    /* pegiminh (aka .thx) */
    • >COBOL資産の他言語移行が進まないのは、
      >銀行や証券・生保など金融機関の勘定系システムで多く利用されているため
      >スケジュールと人員面で移行が困難なせいもあると思います。
      >特に金利計算なんかはブラックボックス化していて下手にいじると収集がつかなくなったりして。

      COBOLの最大のメリットって、BCDを採用している・・・それにつきると思います。

       アセンブラ、FORTRAN、C、C++、Java、と渡り歩いてきたのですが、これらの言語で必ず付きまとってくるのが、有効数字ですね。
      金融機関に限らず、生産管理系でも勘定系システムですと、利益と損失を日々集計していきますが、加減算の世界で閉じられるものであれば、・・・COBOLの存在価値は、低いでしょう。
      問題は乗除算で、有効数字以上の桁数の値は、保障されません。
      (借入金の利率をかけて、・・・とか、手形処理手を・・・とか)

      これを1年間、誤差なしで処理できるメジャーな言語系は、今のところないのでは?

      C++でもJavaでもよいので、BCDを扱える機能も取り込めば、状況がかわるかも。

      # IBMがSUNにM&Aを仕掛けたのは、JavaにBCD機能を組み込んで覇権を制覇するため・・・・って、ふと思った私^^;

      親コメント
    • BSD演算は他言語でも可能ですが、「COBOLでしか出来ない」という伝説は根強いようで。 Cだと売りもののBCD演算パッケージが必要。 javaだとBigdecimalとDFPとか、10進での小数点のついた演算ができるクラスがあります。

      言語のコア仕様にBCD演算が入っているのは COBOL だけかもしれないですが・・・本当のところはどうなんでしょう。

      親コメント
      • by Anonymous Coward
        PL/IもBCDが入っています。

        FORTRAN*0.4+COBOL*0.3+ALGOL*0.2+APL*0.1≒PL/Iだったかな。
      • by Anonymous Coward

        言語のコア仕様にBCD演算を入れるのは変態仕様としか思えない。
        その手の機能はライブラリに切り分けるのが鉄則だろうに。

        結局は、そういう設計思想が出来る前にできた言語なんだろうね、COBOLって。

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

処理中...