- ベストアンサー
COBOLの修得方法
経験9年目のSEです。 これまで、Javaを主にWEB系の開発に携わってきました。 COBOLは、その言語名を知っている以外は何も知らないのですが、覚える必要が生じました。 それにあたり良い書籍などを教えていただければ幸いです。 また、Javaをやってきたので、環境構築が無償でできることが当たり前になっているのですが、このあたりCOBOLの事情はどのようになっているのでしょうか。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
多くの方がおっしゃってるようCOBOLの場合は環境に依存する部分が大きい。 汎用機もメーカーによって違うし、JCLも見なきゃいけない。 ONLINEのプログラムなんかは相当違う。 オフコンのCOBOLだと画面とのやり取りなんかはとくにそれぞれになります。(元々のCOBOLには無い機能だからメーカー独自になっている)。 古いプログラムだとGOTO命令を使わなければならない(言語使用上)場面もあり、またプログラマもそれほど意識せずにスパゲッティプログラムを作っているかもしれません。 今の言語には普通に関数などでできることを、言語仕様に無いのでプログラムで実現しているところもあります。(日付の妥当性のチェックや曜日の計算) COBOLの文法とかについてはそれほど心配する必要はないと思いますが、データの型も基本的には数字と文字だけですが、レコードの定義が(構造体)今の言語にはあまり使われないので最初は戸惑うかも知れません。 どの時代のどの機械のCOBOLかにもよりますが、いまは使われなくなったアルゴリズムというか手法「シークェンシャルマッチング」とか「コントロールブレイク」を使った多段階の集計のキーの扱い方(インラインループも無い)辺りのことも頭に入れておいたほうが「解析」だったら役に立つかもしれません。
その他の回答 (3)
- kernel_kaz
- ベストアンサー率23% (665/2872)
依存するというよりも、各メーカのオリジナル、メーカ内でもOSによるオリジナル部分があるというのが正解かもしれません。 これがまた厄介です。 私は日本電気に慣れていますが、OSの違いによる、オリジナルな部分で結構悩みました。 友人の会社で別メーカ(日立、東芝)のマシンでsourceを見た時には、自分の知ってるCOBOLとは別物かと思ったものです。 今では考えられない事でしょうが、友人の休日出勤に付き合って、プログラムコードを書きに行ってたんですけどね。あまり役に立ちませんでした。(笑) もう30年近く前の話です。 当然、そのマシン(OS)に取って便利な部分がオリジナルとして存在しているので、頻繁に使われています。 とりあえず市販の書籍で、基本となるコードについて理解しておいて、実際のコードを見た時に突然現れるオリジナルコードはリファレンスを確認するというやり方でも何とかなるかもしれません。
お礼
なるほど。 慣れ親しんだJavaとは全く違う世界なのが良く分かりました。 まずは、書籍を買いに書店に行ってきます。 ありがとうございました。
- kernel_kaz
- ベストアンサー率23% (665/2872)
汎用機でしょうか? 基本的な部分は市販の書籍でも良いのでしょうが、OSで実務上の制限等、違いがある部分もあるので、実際に使う事になるCOBOLのリファレンス類を読むのが確実ですよ。
お礼
COBOLはOSに依存する部分があるのですね。 今回、質問をする前に過去の質問を調べたのですが、お答えいただいたように汎用機メーカーのマニュアルが良いという回答がありました。 現時点では、実際に使うCOBOLについての詳細情報が入ってきておらず、メーカーのマニュアル等を今はまだ見ることができません。 このあたり確定したら見てみたいと思います。 今回は、COBOLで書くことは少なく、既存のCOBOLコードを解析することがメインなのですが、それに際してある程度は書けるくらいに準備したいと考えています。 この目的であれば、書店で売られている入門書(?)で十分でしょうかね。 ご回答、ありがとうございました。
- Tacosan
- ベストアンサー率23% (3656/15482)
一応 COBOL でもフリーのコンパイラがあることはあります. どのくらい使えるかは知りませんが. ああ, 書籍なんかは「クセ」なんかもあると思うので (でかい) 本屋で数冊めくってみてよさそうなものを調達するのがよいと思います.
お礼
ご回答ありがとうございました。 まずは書店に行き、色々見てみようと思います。
補足
初歩的な質問で恐縮ですが、ご回答いただければ幸いです。 COBOLは、windows上でも書いて実行できるのでしょうか?
お礼
詳細にお答えいただきまして、ありがとうございます。 COBOLのコードがどのようなものか、ざっくりとイメージすることができました。 また、いくつか重要なキーワードをいただきました。 まずは書籍をあたって基本を学ぶとともに、これらについても調べてみたいと思います。 ありがとうございました。