• ベストアンサー

COBOLの修得方法

経験9年目のSEです。 これまで、Javaを主にWEB系の開発に携わってきました。 COBOLは、その言語名を知っている以外は何も知らないのですが、覚える必要が生じました。 それにあたり良い書籍などを教えていただければ幸いです。 また、Javaをやってきたので、環境構築が無償でできることが当たり前になっているのですが、このあたりCOBOLの事情はどのようになっているのでしょうか。 よろしくお願いします。

  • coQ
  • お礼率66% (16/24)

質問者が選んだベストアンサー

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.4

多くの方がおっしゃってるようCOBOLの場合は環境に依存する部分が大きい。 汎用機もメーカーによって違うし、JCLも見なきゃいけない。 ONLINEのプログラムなんかは相当違う。 オフコンのCOBOLだと画面とのやり取りなんかはとくにそれぞれになります。(元々のCOBOLには無い機能だからメーカー独自になっている)。 古いプログラムだとGOTO命令を使わなければならない(言語使用上)場面もあり、またプログラマもそれほど意識せずにスパゲッティプログラムを作っているかもしれません。 今の言語には普通に関数などでできることを、言語仕様に無いのでプログラムで実現しているところもあります。(日付の妥当性のチェックや曜日の計算) COBOLの文法とかについてはそれほど心配する必要はないと思いますが、データの型も基本的には数字と文字だけですが、レコードの定義が(構造体)今の言語にはあまり使われないので最初は戸惑うかも知れません。 どの時代のどの機械のCOBOLかにもよりますが、いまは使われなくなったアルゴリズムというか手法「シークェンシャルマッチング」とか「コントロールブレイク」を使った多段階の集計のキーの扱い方(インラインループも無い)辺りのことも頭に入れておいたほうが「解析」だったら役に立つかもしれません。

coQ
質問者

お礼

詳細にお答えいただきまして、ありがとうございます。 COBOLのコードがどのようなものか、ざっくりとイメージすることができました。 また、いくつか重要なキーワードをいただきました。 まずは書籍をあたって基本を学ぶとともに、これらについても調べてみたいと思います。 ありがとうございました。

その他の回答 (3)

  • kernel_kaz
  • ベストアンサー率23% (665/2872)
回答No.3

依存するというよりも、各メーカのオリジナル、メーカ内でもOSによるオリジナル部分があるというのが正解かもしれません。 これがまた厄介です。 私は日本電気に慣れていますが、OSの違いによる、オリジナルな部分で結構悩みました。 友人の会社で別メーカ(日立、東芝)のマシンでsourceを見た時には、自分の知ってるCOBOLとは別物かと思ったものです。 今では考えられない事でしょうが、友人の休日出勤に付き合って、プログラムコードを書きに行ってたんですけどね。あまり役に立ちませんでした。(笑) もう30年近く前の話です。 当然、そのマシン(OS)に取って便利な部分がオリジナルとして存在しているので、頻繁に使われています。 とりあえず市販の書籍で、基本となるコードについて理解しておいて、実際のコードを見た時に突然現れるオリジナルコードはリファレンスを確認するというやり方でも何とかなるかもしれません。

coQ
質問者

お礼

なるほど。 慣れ親しんだJavaとは全く違う世界なのが良く分かりました。 まずは、書籍を買いに書店に行ってきます。 ありがとうございました。

  • kernel_kaz
  • ベストアンサー率23% (665/2872)
回答No.2

汎用機でしょうか? 基本的な部分は市販の書籍でも良いのでしょうが、OSで実務上の制限等、違いがある部分もあるので、実際に使う事になるCOBOLのリファレンス類を読むのが確実ですよ。

coQ
質問者

お礼

COBOLはOSに依存する部分があるのですね。 今回、質問をする前に過去の質問を調べたのですが、お答えいただいたように汎用機メーカーのマニュアルが良いという回答がありました。 現時点では、実際に使うCOBOLについての詳細情報が入ってきておらず、メーカーのマニュアル等を今はまだ見ることができません。 このあたり確定したら見てみたいと思います。 今回は、COBOLで書くことは少なく、既存のCOBOLコードを解析することがメインなのですが、それに際してある程度は書けるくらいに準備したいと考えています。 この目的であれば、書店で売られている入門書(?)で十分でしょうかね。 ご回答、ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

一応 COBOL でもフリーのコンパイラがあることはあります. どのくらい使えるかは知りませんが. ああ, 書籍なんかは「クセ」なんかもあると思うので (でかい) 本屋で数冊めくってみてよさそうなものを調達するのがよいと思います.

coQ
質問者

お礼

ご回答ありがとうございました。 まずは書店に行き、色々見てみようと思います。

coQ
質問者

補足

初歩的な質問で恐縮ですが、ご回答いただければ幸いです。 COBOLは、windows上でも書いて実行できるのでしょうか?

関連するQ&A

  • Javaを1から始めるにあたって

    ソフト、Web系のSEをやっております。 一応C言語、PHPなどは人並み以上には使えます。 Javaを1から始めるにあたって参考になる いい書籍はありませんか。 (例えば、Javaの環境を構築する手順、コンパイル方法、クラス、など初心者にもってこいの書籍、またはサイトがあればなおうれしいですね) よろしくお願いいたします。

  • 【COBOLの実行環境構築】freeで

    【COBOLの実行環境構築】freeで 現在、COBOLを使用して開発をしているのですが、 自宅でも学習できるように実行環境を構築しようとしているのですが、 ネットをみても、かなり古いサイトしかのっていないため、 全く参考になりません。 自宅でも使用できるCOBOLのfreeソフトは存在しますでしょうか?

  • JAVAで開発するシステムの見積方法について教えて下さい

    社内でシステムを開発することになり、開発費用を見積もらないといけないのですが、見積の方法がわかりません。 開発言語は画面はJAVAで、バッチと帳票はCOBOL です。 画面、帳票、機能数は出したのですが、そこではた、と停まってしまいました・・・ どなたか、システムの開発はこんなふうにして見積もっているよ、と教えていただけませんか? JAVA,COBOLに限らずどんな言語でも結構です。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • オブジェクト指向の利点とは?

    汎用機でCOBOLのSEを10数年やってました。(今は自営業) COBOLはプロセス型の言語といわれているのに対して C言語はオブジェクト指向型の言語といわれています。 私はC言語やJAVAで開発したことはないのですが、 C言語、すなわちオブジェクト指向の利点ってなんでしょう? JAVA、C言語はオブジェクト指向ですよね。 私はソフトウェア開発技術者の資格など持っていますのでオブジェクト指向の表面的な意味は分かります。 ですが実際、アプリ開発時・運用時にどのような利点があるのかがイマイチ分かりません。 「どっちでもいいんじゃないか」なんて思ってしまいます。 プロセス指向(VB、COBOL等)とオブジェクト指向(C言語、JAVA)の差異って何なんでしょう。 よろしくお願いします。

  • COBOLの開発環境の構築について

    Cygwin上でcobol開発環境を構築したいです。 Net上でいろいろ調べて、Tinycobolというところまでたどり着いたのですが、どれをダウンロードしていいやら・・・ これについての詳しいHPや、SETUPの方法などわかる方がいらっしゃったら教えてください。 (知識不足の為、意味不明な質問をしているかもしれませんが・・・)

  • オフコン(富士通Kシリーズ)COBOLと汎用機COBOLの違い

     私、富士通オフコン(KやPRIMERGY6000)でのシステム開発を10年以上やっています。当然COBOL言語での開発です。オフコン市場が縮小傾向(AS400は別のようですが)にあるなか、汎用機の開発やリプレースは盛んに行われていると認識しています。  私の勘ではデータベースのREAD/WRITEのあたりや画面プログラムの表示のさせ方などが違うのでは、と思うのですが、実際に富士通オフコンのCOBOL-Gと汎用機(富士通でもIBMでもなんでも構いません)COBOLを経験された方に、その相違点をお聞きしたく存じます。  宜しくお願いします。

  • お勧めの言語はなんでしょうか?

    LINUX環境を構築したのをきっかけに、言語を学ぼうかと思っていますが、お勧めの言語はありますでしょうか? 大道ではc++となりそうですが、rubyもいいのかな?と、感じています。JAVAも基本なのでしょうか? 経験としては2000年問題の時に、自社システム全てのCOBOL4のソースを全部書き換えましたが、なにせCOBOL4ですので…。

  • 独学プログラミングでどこまで戦えるか

    現在社内SEとして働いています。 主にCOBOLとSQL(Oracle)、をメインに使っています。 ですが将来のためにスキルアップないしキャリアアップをしたいと考え、他言語の習得を目指しています。 そこで質問です。 1.業務経験がなく、自学したプログラミング知識でどの程度までできるのか(実務に耐えるのか、趣味でフリーソフトを作るにとどまるのか等)。 2.おすすめの言語はあるか(現在はサブマシンにJAVA開発環境とORACLEの無償版を導入)。また勉強の際の注意点、アドバイス等。 少々内容抽象的ですが、よろしくお願いいたします。

  • JAVAでOracleアプリ おすすめ参考書は?

    今回JAVAでウェブアプリケーションを作成する勉強をしたいと考えております。 具体的な環境は以下の通りです。 開発環境:Eclipse3.7 開発言語:JAVA SE 7(JDK1.7) データベース:Oracle Database Express Edition 11g Release 2 JAVAの基本的なプログラミング方法についてはだいたい分かりますが、Oracleの環境構築や、JAVAプログラムからOracleへの接続方法などWebアプリケーション関連のプログラミングについては全くわからない状態です。 1から勉強しようとしても右も左もわからない状態ですので、なにか初心者でもわかりやすい参考書や参考サイトなどご存じの方がいれば教えていただけないでしょうか。 どうぞよろしくお願いいたします。

  • Webアプリケーション開発を学ぶためのお勧め入門書を教えてください。

    こんばんは、初めまして。 Javaを使ったWebアプリケーション開発に関する入門書で お勧めの物を紹介していただけないでしょうか? 今年3月からの新入社員教育でJavaを使ったWebアプリケーション開発の 講師をすることになりました。 講師をするのは全然構わないのですが問題は・・・自分はJavaをほとんど使ったことがありません。 素人の状態からあと1ヶ月でJavaを覚えて教材を作らなくてはいけません。 今日も本屋を覗いてみたのですが、Javaの参考書にはWebアプリケーションとは書いてなく、 また、そういったジャンルのコーナーも有りませんでした。 Javaでも種類がいくつかある(?)らしく、どのJavaを覚えればよいのかもよくわかってません。 こんな状態ですが、何かお勧めの書籍はありませんか? 以下書籍の条件です。 ・Java言語を使ったWebアプリケーション開発が中心に書かれている。 ・1からはじめるので入門書レベルの物を・・・ ・開発環境を無料で整えられるもので書かれている。 以上です。よろしくお願いします。

    • ベストアンサー
    • Java