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ビジネスと言った分散型ビジネスソフトウェアアーキテクチャコンセプトの具現化においてカギとなる存在なのだそうだ。
プログラム行数 (スコア:1, 興味深い)
過去にソフトウェアの生産性を計られたとき、その結果としてC言語よりCOBOLの方が数倍も生産性が高いのでCOBOLを使うべし、という報告が出て来たことがあったのを思い出した。
COBOLで書かれたプログラムが多いのは認めるが、単純な行数比較はあぶないぞ。
コメントを書く
Re:プログラム行数 (スコア:2, すばらしい洞察)
コメントを書く
親コメント
Re:プログラム行数 (スコア:2, 興味深い)
コメントを書く
親コメント
Re:プログラム行数 (スコア:3, すばらしい洞察)
そういう自動変換されたソースは普通は死ぬほど読みにくいですよ。
#手動変換されたソースでも、死ぬほど苦労したことがある。orz
>C言語のソースの読みにくさは、格別だからなぁ
普通レベルだと思います。
(トリッキーなテクニックを駆使した)Perlに比べれば可愛いもんですよ。
マクロの乱用などがあれば別だけど、そういう糞プログラマが書けば
どんな言語だろうとスパゲッティプログラムになることでしょう。
コメントを書く
親コメント
コンセプトの具現化 (スコア:1)
まさか、XMLパーザやウェブサーバやアプリケーションサーバ自体をCOBOLで書く気ではあるまい。 またウェブサーバやアプリケーションサーバにアクセスするためのクライアントライブラリもCOBOL自身で書きはしまい。
COBOLのプログラムは、それらのライブラリやサーバを利用して従来COBOLが得意としていた金計算を行うだけではないのか? COBOLがコンセプトなるものの具現化のカギになるのではなく、そのコンセプトと称するものがCOBOLの延命のカギになっているのではないのか? COBOLの立場は、C, C++, C#, JavaよりもむしろPHP, Perl, Ruby, Pythonに近づいている気がする。
コメントを書く
Re:コンセプトの具現化 (スコア:4, 参考になる)
するどいですね.原文読まれました?>#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.
コメントを書く
親コメント
カギはXMLのほうでは? (スコア:1)
「XMLでデータ吐いてくれれば他システムとの連携や再利用しやすいよ」
って言ってるだけみたいな感じで、
別にCOBOLそのものはカギでもなんでもないのでは?
帳票出力部分をXML出力にする?
--------------------
/* SHADOWFIRE */
コメントを書く
最近はjavaもCOBOLっぽくね? (スコア:1)
いずれにせよ、COBOLもjavaも適材適所だね。
コメントを書く
全体的なコストパフォーマンス (スコア:1)
もちろん、今ゼロから作るならJavaでFAですが
「納期」「要求仕様」以外に「既存システム」という前2つと相反する要素が出てくるので
システム拡張という名目でツギハギをしようとした場合にCOBOLが使われているだけの話でしょう。
COBOLだから良いのではなく、前もCOBOLだったから次もCOBOLなんです。
コメントを書く
「今のプログラムを活かすと2年かかります。でも一から作り直すなら1年以内で出来ます」 (スコア:1)
コメントを書く
Re:反対に (スコア:3, おもしろおかしい)
コメントを書く
親コメント
Re:反対に (スコア:1)
I'm out of my mind, but feel free to leave a comment.
コメントを書く
親コメント
Re:反対に (スコア:2, 興味深い)
平成20年度センター試験 数学II・数学B [dnc.ac.jp] ※PDF注意
#実用性は皆無だけど
コメントを書く
親コメント
Re:反対に (スコア:1)
コメントを書く
親コメント
Re:反対に (スコア:1)
コメントを書く
親コメント
Re:反対に (スコア:1)
Cから始めると、世の中C言語しかないと思ってしまうということらしい。
コメントを書く
親コメント
Re:反対に (スコア:2, おもしろおかしい)
「なんでCじゃないんですか」と尋ねる学生も毎年いくらかは現れますが
こういう学生はつまり「自分はCなら既に知っているから講義もCなら楽なのに」と考えているので
こちらは「新しいことを学べて嬉しいだろ」と答えています。
コメントを書く
親コメント
本家では (スコア:1)
コメントを書く
親コメント
Re:COBOL の嫌なところ (スコア:1, すばらしい洞察)
誰が書いても同じになるようにってのを狙った言語仕様として、よく出来てると思うよ。
これ(レガシーなシステム)がみんなC言語だったりしたら、もっと怖いかも。
コメントを書く
親コメント
Re:COBOL の嫌なところ (スコア:1)
コンパイル後のコードが読みにくくなるから使うなって。
# そ~ゆ~先輩に鍛えられたのでS370の機械語(?)が読めたりします…
# これほど役に立たないスキルもないと思う。
notice : I ignore an anonymous contribution.
コメントを書く
親コメント
Re:押し付けはよくない (スコア:1)
ま、流行り廃りはあっても需要だけは残るわけですがね。
COBOLに限らず、ほとんど遺失技術と言いたくなる代物は結構ありますよ(苦笑)、流行廃りでユーザー不在だから、そうなっちゃうんですが。
#日本版のOpenNTF.org [openntf.org]のような活動がしたい。
コメントを書く
親コメント
Re:うちの会社の場合 (スコア:1)
#日本版のOpenNTF.org [openntf.org]のような活動がしたい。
コメントを書く
親コメント
Re:押し付けはよくない (スコア:1)
ダイクストラがこう言ってる、という文脈を無視しちゃいけないよ。
COBOLのアンチテーゼとしてALGOLを産んだ人なんだから。
ダイクストラがCOBOLを悪と認識してないと、その後のPascalも
CもJavaも生まれないよ。だから彼においては頭ごなししてくれなきゃ
気持ち悪いのだ。
-- Tig3r on the hedge
コメントを書く
親コメント
Re:COBOL の嫌なところ (スコア:2, 興味深い)
文句言ってる気がするよ。
ここは似たような処理だから、
→違う部分だけ別段落で書いてPERFOMEで処理分岐しよう
ファクトリメソッドを使えば、
→複数の条件を持つ段落と、その段落で使うデータ領域定義を
ライブラリにしてCOPY(コピペじゃないよ)して利用しよう
くらいがCOBOL的発想。つかCOBOLよりCとかJavaとかの、ローカル
スコープのある言語の方が何も考えないコピペ開発者多い(私見)。
-- Tig3r on the hedge
コメントを書く
親コメント
Re:尋ね人 ada (スコア:1)
- F-22 [wikipedia.org]
- 97式魚雷 [geocities.co.jp]
とか。コメントを書く
親コメント
Re:COBOL の嫌なところ (スコア:1)
同一ソース内で整理するなら PERFORM でいいんじゃないの?
テンプレート機能とかが欲しい、とかいう世界なら微妙ですが。
コメントを書く
親コメント