ページ内ジャンプ:

アレゲなニュースと雑談サイト

GetSetによる 2008年09月21日 9時00分の掲載
適材適所で部門より。

pinbou 曰く、

本家/.の記事より。チューリング賞受賞者エドガー・ダイクストラ曰く、
「COBOLの利用は精神を損なう。よって、COBOLを教えることは犯罪行為とみなされるべきだ」
……とはいえ、このDr. Dobb's Journalの記事によれば、COBOLのしぶとさには度外れたものがあるらしい。21世紀に入ってもCOBOLは最も広く使われている言語であり、今日のソフトウェア開発における最もホットな領域のいくつかで重要な地位を占めている。あなたが次に学ぶべき言語はCOBOLかもしれないのだ。
1997年、Gartner Groupが発表した調査によれば、現在使われているアプリケーションのうち2400億行はCOBOLで書かれており、毎年何十億行ものCOBOLコードが新たに書かれている。加えてCOBOLはXML/メタデータ、ウェブサービス、SOA、eビジネスと言った分散型ビジネスソフトウェアアーキテクチャコンセプトの具現化においてカギとなる存在なのだそうだ。

表示オプション しきい値:
  • Anonymous Coward : 2008年09月21日 9時30分 (#1423566)
    > 現在使われているアプリケーションのうち2400億行はCOBOLで書かれており


    過去にソフトウェアの生産性を計られたとき、その結果としてC言語よりCOBOLの方が数倍も生産性が高いのでCOBOLを使うべし、という報告が出て来たことがあったのを思い出した。
    COBOLで書かれたプログラムが多いのは認めるが、単純な行数比較はあぶないぞ。

  • 加えてCOBOLはXML/メタデータ、ウェブサービス、SOA、eビジネスと言った分散型ビジネスソフトウェアアーキテクチャコンセプトの具現化においてカギとなる存在なのだそうだ。
    カギって、具体的にどういう役割を果たすというのだろう?
    まさか、XMLパーザやウェブサーバやアプリケーションサーバ自体をCOBOLで書く気ではあるまい。 またウェブサーバやアプリケーションサーバにアクセスするためのクライアントライブラリもCOBOL自身で書きはしまい。
    COBOLのプログラムは、それらのライブラリやサーバを利用して従来COBOLが得意としていた金計算を行うだけではないのか? COBOLがコンセプトなるものの具現化のカギになるのではなく、そのコンセプトと称するものがCOBOLの延命のカギになっているのではないのか? COBOLの立場は、C, C++, C#, JavaよりもむしろPHP, Perl, Ruby, Pythonに近づいている気がする。
    • benjamin (3598) : 2008年09月21日 13時42分 (#1423673)

      するどいですね.原文読まれました?>#1423575
      興味がでてきたので4ページ目 [ddj.com]を粗訳してみました.

      CobolはWebとのゲートウェイか?

      しかしCobolを学ぶ魅力的な理由がある.単に古いコードを保守や移植するんじゃなく.

      Cobolはモダンな分散型ビジネスソフトウェアアーキテクチャのコンセプトを具体化するキー要素だ. そのコンセプトとはXML/メタデータ,Webサービス,サービス主導アークテクチャ(SOA),そしてeビジネスである. トレンディな要素,つまり次回のWeb 2.0 カンファレンスでCobolのセッションがあるかもしれないというだけでなく,決定的な要素でもある. Lemmel (この人 [www.ecdl.at]かな?) はメタデータのエッセンスを,CobolのIDENTIFICATIONおよびENVIRONMENTセクションと,Webサービスが利用するCICSトランザクションの中に見ている.

      Cobolアプリケーションの真のコンセプトは,oversimplication(シンプル化のやり過ぎ)とでもいうものだ. Cobolプログラマは,SOAモデルに類似した方法でまとめられたテクノロジの集合体を扱う. Scott McMahan [scottmcmahan.net] はeメールで次のように述べている. “モダンなCobolを理解したければ,glue(接着剤)言語だと思えばいい. IBM [ibm.com] はデータ処理用にCICS, DB2, IMS, VSAM, ISPFなどのテクノロジの‘スタック’を持っており,それらはCobolでつなげられている.”

      トラディショナルな実装からWebベースのモデルへの移行におけるCobolプログラマの役割は,いろいろな姿をとることができる.

      プログラマはCobolコードと新しいアプリケーションを橋渡しするかもしれない. それにはCobolと,レガシなCobolコードの背後にあるビジネスルールと,そしてモダンな言語とシステムの理解が欠かせない. SOAおよび共通ランタイム環境を持つIBMの言語環境の出現によって,既存のCobolコードは他のコードと,より容易に統合できる.

      CobolとWebの統合に利用できるツールは急速に進化している. Veryant [veryant.com]社はWeb 2.0の開発をCobolの中で直接行えるようにしている: “最新のWebアプリケーションの多くに含まれるウィンドウのグラフィカルなサイズ変更と同じことが,今やCobolプログラムのエンドユーザに対しても容易に実装できる.” Micro Focus [microfocus.com]社はMicrosoft [microsoft.com]社とのパートナーシップを通じて,Cobolアプリケーション開発に向けた強力なSOAサポートを開発中だ. さらに富士通 [fujitsu.com]は,コードの統合より“数歩進んで”CobolプログラマがWebを直接プログラムできるようにすることを検討している. 例えばASP+ページにCobolコードを埋め込んだり,CobolでWebサービスを直接書くことができる.

      “これは静かなる現実だ”とCrookは言う. “ビジネスの世界はCobolに載って動いている. [そして]今のCobolはとてもモダンな言語で,新しい価値をビジネスへ迅速にもたらすという昔からの力を,引き続き及ぼしている.”

      --
      =^..^=
      Enjoy Networking, Skiing as well as Horse Racing.
    • 1個のコメント が現在のしきい値以下です。
  • XML/メタデータ、ウェブサービス、SOA、eビジネスと言った分散型ビジネスソフトウェアアーキテクチャコンセプトの具現化
    これって要するに
    「XMLでデータ吐いてくれれば他システムとの連携や再利用しやすいよ」
    って言ってるだけみたいな感じで、
    別にCOBOLそのものはカギでもなんでもないのでは?

    帳票出力部分をXML出力にする?

    --
    --------------------
    /* SHADOWFIRE */
  • でも、CはCOBOLっぽく感じないのはなぜだろう?
    いずれにせよ、COBOLもjavaも適材適所だね。
  • 要するに「安くできるから」COBOLなんでしょう

    もちろん、今ゼロから作るならJavaでFAですが
    「納期」「要求仕様」以外に「既存システム」という前2つと相反する要素が出てくるので
    システム拡張という名目でツギハギをしようとした場合にCOBOLが使われているだけの話でしょう。

    COBOLだから良いのではなく、前もCOBOLだったから次もCOBOLなんです。
  • COBOLトピを読んでると、岩田聡の名言が浮かぶのは私だけでしょうか。
  • Re:反対に (スコア:3, おもしろおかしい)

    Anonymous Coward : 2008年09月21日 10時09分 (#1423582)
    ラテン語。
  • BASIC
    --
    I'm out of my mind, but feel free to leave a comment.
  • phenix (31258) : 2008年09月21日 11時54分 (#1423622) 日記
    少なくともうちの大学で最初の数ヶ月習うのはPascalですが。
    Cから始めると、世の中C言語しかないと思ってしまうということらしい。
    • Re:反対に (スコア:2, おもしろおかしい)

      Anonymous Coward : 2008年09月21日 12時09分 (#1423629)
      うちの学科ではFortranで計数工学を教えています。

      「なんでCじゃないんですか」と尋ねる学生も毎年いくらかは現れますが
      こういう学生はつまり「自分はCなら既に知っているから講義もCなら楽なのに」と考えているので
      こちらは「新しいことを学べて嬉しいだろ」と答えています。
    • 2個のコメント が現在のしきい値以下です。
  • phenix (31258) : 2008年09月21日 12時41分 (#1423645) 日記
    Cobol is the most widely used language in the 21st centuryの部分にリンクが張られてますので、皮肉的な意味なんでしょう。
  • Re:COBOL の嫌なところ (スコア:1, すばらしい洞察)

    Anonymous Coward : 2008年09月21日 15時43分 (#1423736)

    COBOL の何が嫌かって、プログラマの工夫しようとする所をことごとく拒否する言語仕様ですよ。
    それ、COBOLのデメリットじゃなくてメリットじゃね?
    誰が書いても同じになるようにってのを狙った言語仕様として、よく出来てると思うよ。

    これ(レガシーなシステム)がみんなC言語だったりしたら、もっと怖いかも。
  • 組み込み関数を使ったら、おもいっきり、怒られました。
    コンパイル後のコードが読みにくくなるから使うなって。

    # そ~ゆ~先輩に鍛えられたのでS370の機械語(?)が読めたりします…
    # これほど役に立たないスキルもないと思う。
    --
    notice : I ignore an anonymous contribution.
  • 新しいとか古いとかじゃなくて、流行ってるかそうでないかの違いの様な気がしますが?

    ま、流行り廃りはあっても需要だけは残るわけですがね。

    COBOLに限らず、ほとんど遺失技術と言いたくなる代物は結構ありますよ(苦笑)、流行廃りでユーザー不在だから、そうなっちゃうんですが。
    --
    #日本版のOpenNTF.org [openntf.org]のような活動がしたい。
  • プログラマ・技術者としては終わっていても、自分より若い連中はどうすれば良いでしょうか?
    --
    #日本版のOpenNTF.org [openntf.org]のような活動がしたい。
  • > 頭ごなしに「COBOLは悪」ってのを見ると、逆に気持ち悪いです。

    ダイクストラがこう言ってる、という文脈を無視しちゃいけないよ。
    COBOLのアンチテーゼとしてALGOLを産んだ人なんだから。
    ダイクストラがCOBOLを悪と認識してないと、その後のPascalも
    CもJavaも生まれないよ。だから彼においては頭ごなししてくれなきゃ
    気持ち悪いのだ。
    --
    -- Tig3r on the hedge
  • Tig3r (17335) : 2008年09月22日 11時42分 (#1424036) 日記
    関数、とか、メソッド とか言ってる時点で、COBOLを理解しないで
    文句言ってる気がするよ。

    ここは似たような処理だから、
     →違う部分だけ別段落で書いてPERFOMEで処理分岐しよう

    ファクトリメソッドを使えば、
     →複数の条件を持つ段落と、その段落で使うデータ領域定義を
      ライブラリにしてCOPY(コピペじゃないよ)して利用しよう

    くらいがCOBOL的発想。つかCOBOLよりCとかJavaとかの、ローカル
    スコープのある言語の方が何も考えないコピペ開発者多い(私見)。
    --
    -- Tig3r on the hedge
  • Adaは、当初の目的である国防分野ではまだ現役じゃないでしたっけ?
    とか。
  • Stealth (5277) : 2008年09月24日 10時49分 (#1425064)

    同一ソース内で整理するなら PERFORM でいいんじゃないの?
    テンプレート機能とかが欲しい、とかいう世界なら微妙ですが。

  • 7個のコメント が現在のしきい値以下です。