パスワードを忘れた? アカウント作成
11842708 story
プログラミング

金融系ではなぜCOBOLが使われるのか 122

ストーリー by hylom
そこにあるから 部門より
あるAnonymous Coward 曰く、

「金融系ではなぜCOBOLが使われるのか」という話が、Togetterまとめはてなブックマークで話題になっている。

金融系と言えばCOBOL、というのは有名だが、現在ではそれ以外にも多くの言語があり、あえてCOBOLを利用する理由について議論されている。Togetterまとめでは固定小数点演算とその精度、速度が理由として挙げられているが、ほかの言語でも十分なライブラリが登場している現在、ややピントがずれた議論の気もする。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 過去の遺産(=財産) (スコア:5, すばらしい洞察)

    by NOBAX (21937) on 2014年12月25日 19時52分 (#2734108)
    敢えて代えるリスクを負いたくないから
    • by Anonymous Coward

      今まで動いてきたシステムに、ちょっとの変更を加えるだけだとしたら、やっぱり今までの環境を持ってくるよなぁということですよね。

      #ふさふさから一本毛を抜いてもふさふさだから、何本毛が抜けてもふさふさだろう理論

      • by Anonymous Coward

        そうやってどんどん進化の袋小路に追い詰められて、時代遅れの生きている化石になることを、
        負の遺産と言ったりしませんか。
        #変更にかかる期間の長期化、保守費用の高騰、保守部品は年々入手困難に、etc

        >#ふさふさから一本毛を抜いてもふさふさだから、何本毛が抜けてもふさふさだろう理論
        #ふと気がついてみたら毛が三本。

        • by Anonymous Coward

          > #ふと気がついてみたら毛が三本。

          おばQですか?

    • by Anonymous Coward

      ユニットテストと無縁な言語なせいでリスク値さらに高止まり
      新旧に繋がりの無い業務形態が突然現れでもしなけりゃ百年先もCOBOLを使ってるだろうね

  • by Anonymous Coward on 2014年12月25日 20時23分 (#2734120)

    帳票作成時のレイアウトのしやすさなんてのもCOBOLのメリットとして
    上がってたよ〜(1980〜1990年頃の話)。

    また、膨大な量の入出力(出力は紙への印字)を短時間で行うには
    チャネル回りが充実してたメインフレームの独壇場であり、そこで
    動作する言語はCOBOLが最もメジャーだったという経緯もあり。
    この辺は今もそうなんじゃないかな。

    • by Anonymous Coward on 2014年12月25日 20時49分 (#2734137)

      富士通のメインフレームからPCサーバに変えたお客さんが、オープン系はプリンタが弱くてね、って愚痴ってましたね。
      メインフレームの周辺機器は専用品だから高価だけど、相性問題もないし、性能や安定性はピカイチだって言ってました。

      だからといってメインフレームに戻すことはないんでしょうけど。

      親コメント
      • 金融ではないですが、未だPrimeForceが現役です。

        昔とちがって汎用機とプリンタの仲介をするソフトウェアがかなり融通が利くようになったんで、専用プリンタは減少傾向ですけどね。
        (富士通だとSystemWalkerやFNA Server)

        それでも汎用機+COBOLの帳票環境から離脱するには相当苦労しそうです。

        親コメント
    • by Anonymous Coward on 2014年12月26日 0時04分 (#2734252)
      印刷周りは私も現場で聞きました。
      一部の帳票関連は、銀行のセンター内で印刷屋かとおもうぐらいでかいプリンターというか印刷機で大量に作成してました。
      また、取引先名や氏名などで予想外に外字が多く、フォントを銀行員の方がツールを使って作成しており、その多さや標準外の設定のためプリンターのファームウェアを銀行向けにカスタマイズしないと全て対応できなかったり。

      部分的には他言語で十分でもトータルでみると複数言語を習得して構築、よりはCOBOL一択。それでも一部ライブラリはアセンブラ等もあって、そういったものは専門職や協力会社の人が組んでましたが。
      また行員は異動が多く、支店でバリバリの銀行業務をしていた人がシステム部門に着任したりもします(今でもそうかわかりませんが)。
      COBOL/JCLなら言語の特性はありますがビジネスロジック以外のコンピュータ基礎的なことにあまり囚われずに組めるので文系の方でも扱いやすかったようです。

      ただ銀行内でも、いわゆる勘定系や上記以外はWindows/VSやUnix/C/Javaなんかも使われており、そういったものが増えてきてからCOBOL専従やCOBOLも知ってるってエンジニアの割合は減ってきてはいました(同じく20年ほど前。。。年取ったなぁ)。

      新卒で初めてメンテしたCOBOLソースの作成日が自分の誕生日より古く、よく見るとそういったのがゴロゴロあったのをよく覚えています。
      そういったもろもろを思いだ出してしまったので、長文失礼。
      親コメント
    • 帳票というか、入出力周りまで言語仕様に含んでいる、というのが COBOL の特徴にあるかと思います。
      MS-DOS の頃、メニュー式のランチャーアプリなどが NEC MS-DOS や HDD メーカー提供のユーティリティなどによく付いていましたが、そういった感じのメニュー画面なんかはかなり簡単に記述できます。

      富士通の PowerCOBOL なんかは Windows 用のウィンドウアプリを COBOL だけで書けて最初は「気持ちわりー!」と思ったのですが、この辺りを踏まえて考えてみると、実は正当進化なのではないかという気もします。

      親コメント
  • 選ばれてCOBOL (スコア:3, すばらしい洞察)

    by Anonymous Coward on 2014年12月25日 19時57分 (#2734110)

    COBOLを捨てて他の言語にしなければならないだけの十分な理由がない
    消極的な選択なんだろうと思う

    • by Anonymous Coward

      メンテナーの確保が年々難しくなるというのは?

      希少価値化して給料が上がれば、拾得者もまた増えてくるという市場原理の均衡が働くのだろうか。

      • by Anonymous Coward

        メンテナーの確保が年々難しくなるというのは?

        教育期間を設ければいいだけのこと。
        COBOLやFortanのようなレガシーなシステムに限らず新しいシステムでも教育期間を設けるのは当たり前。

        • by Anonymous Coward on 2014年12月25日 22時29分 (#2734193)

          むしろ、どマイナーな言語でカタにはめてしまえば人材流出のリスクも減るでしょうね。
          他業他社で通用しないレベルの人材になっても、自社で使えれば何の問題もありませんし。

          親コメント
      • by Anonymous Coward

        そういえば、正しいプログラマの前では、プログラミング言語間の差異なんて、
        自然言語の方言の間の差よりも小さい、なんてよく嘯くけど、COBOLは別格なのかな?

        未知の言語でも、数日もあれば、そこそこ使いこなせる。
        本番系ではやらないにせよ、外に出さない雑用レベルで必要に迫られたら、全く触ったことがない言語で書かれてても、
        見た感じの雰囲気だけを頼りに修正、ぐらいのことも良くやる。

        一週間ぐらい集中して勉強しても使いこなせない言語があるとは思いにくい。
        アプリがアプリだけに、そんな気楽な習得レベルで仕事をすんな、みたいなのもあるのかな?

        • by shesee (27226) on 2014年12月25日 20時40分 (#2734127) 日記
          言語仕様が大き目で案外覚えること多いので、そう簡単でもない。
          親コメント
        • by firewheel (31280) on 2014年12月25日 21時22分 (#2734158)

          >正しいプログラマの前では、プログラミング言語間の差異なんて、

          「COBOLを使ってるような奴は『正しくないプログラマ』だから、差違もずっと大きくなる」
          と言いたいわけですね、分かります。

          #既に規格外扱いなのは事実だと思う。

          親コメント
        • by Anonymous Coward on 2014年12月25日 21時23分 (#2734159)

          語彙がややこなれていませんが、言語そのものは簡単です
          #FORループと関数(手続き)呼び出しが両方PERFORM文とか

          難しいというか面倒くさいのが、ローカル変数とか引数の概念がないので、
          ほぼ共通処理なんだけどほんのちょっと違う処理みたいなのを書くときに、他の言語では関数として処理をまとめられるところを、
          コピペして違うところだけ書き直さざるを得ない場面が多数出てきて、デバッグも以下略となるので、
          もうCOBOLは触りたくないです

          ...という人が多いと想像

          親コメント
          • by Stealth (5277) on 2014年12月26日 10時08分 (#2734392)

            今時の COBOL だと引数取ったり [fujitsu.com]できるんですよ。NetCOBOL に限った話でもない [mainframestechhelp.com]感じで。

            今時は Java や .NET Framework との連携ができないといけない世界なので、そのための言語仕様拡張とかも入ってますね。速度面だけではなく、この辺りの関係からも BCD のみではなくなっていたりとか。

            # たまに COBOL の事を調べてみると、いつのまにかとんでもなく機能拡張されていてビビる。

            親コメント
        • by Anonymous Coward
          > 正しいプログラマの前では
          自分で答分かってる系かな?
          どうやら平均的な能力水準のプログラマはほとんど一つの言語しか扱えないという噂を聞いたことがある
          # 我々日本人が日本語しか使えないのと同じなのかなw
        • by Anonymous Coward

          正しいプログラマならCOBOLぐらいすぐ使えるけど、
          なんか手足縛られたまま仕事させられてる気分になってくるはず。

      • by Anonymous Coward

        こんだけ使われていれば処理系も見放されないからな。
        Pythonとかいつ消えるかもわからんのにあほか

  • お、 (スコア:2, おもしろおかしい)

    by Anonymous Coward on 2014年12月25日 19時43分 (#2734102)

    おばちゃまはね

  • by Anonymous Coward on 2014年12月25日 21時46分 (#2734171)

    ワイWeb屋、高みの見物。
    ユーザーから「ログインできないんだけど」とクレーム。
    ワイ「特定のページからログインすると失敗しとったわwすまんなw」
    これで解決。最悪、個人情報お漏らししたって一人500円で許してもらえる。前例作ったソフトバンクとベネッセまじ神!サンキュー!
    Googleとか、「例外は無視する」つー戦略らしいじゃん。100%完璧に想定どおりの演算結果じゃなくても、99.9999%正しければオッケー。
    それがWeb。
    これがpython遣いの発想。

    金勘定の場合
    銀行「1円足りんね。はい不渡り」
    オヤジ「おっ、死のうかなっと」
    銀行「あ、バグがあったわw1円返すねwすまんなw」
    オヤジの遺族「なんやそうやったんやw許すわw」 ← こんな風になるわけないだろ

    • by Anonymous Coward

      しかしメリケンの銀行とか、「こないだお前の口座に振り込んだ金、
      支払人がキャンセルしたから引いといたぜよろしく」みたいなことが普通にあるっていうじゃん。
      日本の金勘定業界がアホなんだよ。

  • 金融系は海外にも存在するはずで、そこではどのような言語が使われているのでしょうか? COBOLの衰退具合から察するに日本だけがCOBOLに固執している予感がしますが、その原因が何なのかわかりません。

  • by Anonymous Coward on 2014年12月25日 19時37分 (#2734099)

    演算仕様は準拠してれば正しい結果になるのだろうけど
    おかしくなった時の振る舞いは処理系毎に異なるから
    保守を考えると処理系を替えられないのだろう。

    • by Anonymous Coward

      移植・移行時にバグ入り込んだりするリスクを抱えてまで他の言語使う理由ないし、、、
      QA説明するときは「ここは実績あるので〜」と言えるCOBOLの方が楽だし

  • by Anonymous Coward on 2014年12月25日 19時47分 (#2734105)

    言語仕様に都合の悪い変更がないとかが理由なんじゃないの。処理系も十分枯れているだろうし。
    リンク先ではpythonが上げられているみたいだけど。仮にpython2系に移行していたら。COBOL以上の技術的負債になってるはず。

  • by Anonymous Coward on 2014年12月25日 20時39分 (#2734126)

    はてなやTwitterってWeb系ばっかなんだよね。
    Web系って流行り物を追うだけの単なるミーハーなんだよ。
    Web系の中じゃ古い技術を馬鹿にすることで周りから注目を浴びてドヤ顔できるんだ。
    そういう奴らが自己アピールのためのCOBOLを叩いてるだけなんだよ。

    • >Web系って流行り物を追うだけの単なるミーハーなんだよ。

      J2EEが出てから十年以上は優に経ってるけど,基本はそんなに変わらん。
      流行り物を追うだけのミーハー?バカも休み休み言え。

      親コメント
    • by Anonymous Coward

      近頃の若いものは!と怒鳴るだけの老害

    • by Anonymous Coward

      1年で退場するものを誉めたてて、5年残るものを貶めるのはどうかと思うよな。

  • by Anonymous Coward on 2014年12月25日 21時31分 (#2734164)

    新しくシステムを作るという場合でも、COBOLが選択されるんだろうか?

    金融系で働いていてJAVAを使っているという人に会ったことがある。
    そのときは興味なかったんで、どういう部分の仕事をしていたのか聞かなかったけど。

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...