はじめての親子ハイキングに挑戦!! >>

6月よりオープン系のCOBOLの仕事をすることになりました。

内容は生産管理です。

ホスト系のCOBOLは数十年前少しやっていたのですがすっかり忘れてしまいました。

そこで、1から勉強しなおそうと思うのですが、何かいい本はないでしょうか?

(COBOL入門やオープン系入門等の分かりやすい本等)

また、COBOLソースを簡単に読むテクニック等あればお教えください。
(予備校で、現代国語や古文の問題を簡単に解く方法みたいなやつ)

ほとんど、オープン系もCOBOLも分からないど素人と同じレベルです。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

COBOLはかじったことないんですが・・



参考URL:http://tallercolibri.com/
    • good
    • 0
この回答へのお礼

soyokaze2020様

ありがとうございます。

こんな、いいサイトがあるの知りませんでした。

めちゃめちゃ助かりました。

mirojoan

お礼日時:2014/05/21 18:52

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q汎用系とオープン系の違いって?

ソフトウェア業界について勉強しています。
本によると、『業務システム開発は、汎用系システム開発とオープン系システム開発に分かれる』とあるのですが、違いがよく分かりません。

知り合いからは、「例えば人事給与システムはオープン系で、銀行などの基幹システムは汎用系だよ」と言われました。
それって、つまり規模の差ってことでしょうか?
よろしくお願いします。

Aベストアンサー

こんにちは。

おおまかに言えば汎用系とオープン系は高速性、信頼性が違います。汎用系のほうがどちらも優れています。
データ量だけならオープン系をSAN環境で使用すればどちらもあまり変わりません。

汎用系は高速性を要求される為、そのプログラミングはハードウェアに特化(ハードウェアやシステムの特性を考慮した)ものになります。よってマシン語に近い言語を使用することも多く、システム専用に構築される場合が多いので、システム変更や他に応用することが容易には出来ません。(昔銀行の統合でこれに失敗して大事件になったことがありますよね。)

オープン系は主にWindows等のアプリケーション(例えば会計ソフト)が動作する環境に用います。ハードウェアに特化しないので、その変更が汎用系に比べ容易です。

汎用系は集中処理型システムであるがゆえ、信頼性も高いものが要求されます。極端にいえば1台システムがダウンすると全滅してしまいます。ですからそのようなことがないように障害発生時の対処についてもオープン系よりもシビアなものとなります。

とはいえオープン系も信頼性が高くなってきており、さらにSAN環境等でリスク分散することでさらに信頼性を高めることができます。

汎用系とオープン系は互いに一長一短ですので使用するシステムの特性にて使い分けます。
極端な例でいえば銀行ATMなど大勢の人が同時に使用するようなシステムの場合は汎用系でないと対応できないでしょうし、質問者様自身が何かのアプリケーションを使用する為に自分のPCにディスクを増設されてもそれはオープン系システムと言えます。

つまり汎用系システムは、高速性などそれでないと対応できない場合に用い、オープン系はその名の通りオープンですのでいろいろな用途のシステムに用いるのが一般的です。

こんにちは。

おおまかに言えば汎用系とオープン系は高速性、信頼性が違います。汎用系のほうがどちらも優れています。
データ量だけならオープン系をSAN環境で使用すればどちらもあまり変わりません。

汎用系は高速性を要求される為、そのプログラミングはハードウェアに特化(ハードウェアやシステムの特性を考慮した)ものになります。よってマシン語に近い言語を使用することも多く、システム専用に構築される場合が多いので、システム変更や他に応用することが容易には出来ません。(昔銀行の統合でこ...続きを読む

Qオープン系、汎用系とは?

職を探すときに、オープン系システム開発とか汎用系システム開発という言葉が使われますが、オープン系・汎用系とはそもそもどーいう意味なんでしょうか?

どなたか、よろしくお願いします!

Aベストアンサー

オープン系とは、Unix,WS(+PC)をベースにした所謂「クライアント・サーバーシステム」を前提にしているようです。各WSやPCは、「通信」で結ばれます。文字どおり、個々の機種への依存性を極力排し、自由に結合できるのが特徴です。

汎用系とは、汎用大型機を前提としており、今でも金融系や移動通信の制御などに用いられています。(E)WS+Unixが出てくるまでは事実上これしかありませんでした。(他にもスパコンとかミニコンはあったが、基本は同じ)

これ以上詳しく言うとボロがでるので、あとは、専門家の方に任せます。

QCOBOLの種類

COBOLは標準言語といいながら、英語のCOBOLや日本語COBOLがあるようですが、他に違うものありますか。

Aベストアンサー

「JIS X3002」これが日本における標準COBOLの仕様です。
この仕様を満足しつつ独自機能を付加された製品が市場には無数に存在します。

「ISO 1989:1985 Programming Languages -- COBOL」こちらは世界標準のCOBOL仕様です。
JIS X3002もISO 1989:1985 Programming Languages -- COBOLに準拠していますが、文字セットの違いなどで【完全に同じ】とはなりません。

「ANSI X3J4」アメリカの標準COBOL仕様です。
基本的にISO 1989:1985 Programming Languages -- COBOLと同じです。

昔はもうひとつ、CODASYL版のCOBOL標準仕様があったんですが、ANSIと統合されたので現在はISO 1989:1985 Programming Languages -- COBOLが世界標準です。

まとめます。
・世界標準はISO 1989:1985 Programming Languages -- COBOL
・ISO 1989:1985 Programming Languages -- COBOLを元に各国で自国向けの標準化が行われており、日本ではJIS X3002
・市場に出回る製品は【標準COBOL仕様】を満足しながら独自の機能を持っている

製品としてのCOBOLにはポインタが使えるもの、再起ができるものなどがあります。
極端な例だとオブジェクト指向を取り入れたものもあります。

「JIS X3002」これが日本における標準COBOLの仕様です。
この仕様を満足しつつ独自機能を付加された製品が市場には無数に存在します。

「ISO 1989:1985 Programming Languages -- COBOL」こちらは世界標準のCOBOL仕様です。
JIS X3002もISO 1989:1985 Programming Languages -- COBOLに準拠していますが、文字セットの違いなどで【完全に同じ】とはなりません。

「ANSI X3J4」アメリカの標準COBOL仕様です。
基本的にISO 1989:1985 Programming Languages -- COBOLと同じです。

昔はもうひとつ、CODAS...続きを読む

Qオープン系とWeb系の違いって??

非常に初歩的な質問なんですが
オープン系とWeb系というのはどう違うのでしょうか?
オープン系はいろんなメーカーの部品を使用して
プログラムを作るという認識ですが(←あってます?)
Web系も同じように思い、違いがわかりません。

ご存知の方よろしくお願いします!

Aベストアンサー

オープン系というのは、昔のハードウェア・ソフトウェア共に統一された規格の閉じたコンピュータシステムだったのに対する対義語で、いろいろなメーカのハードウェアやソフトウェアを組み合わせたシステムのことを言います。

WEB系はそのアクセス方法であるハイパーテキストトランスファプロトコル(httpやhttps)を主に使って互いに接続されるシステムのことをいいます。WEB系は社内で閉じたシステムの場合もありますが、大抵はなんらかの形でインターネットに接続される場合が多いです。

逆に昔から言うオープンシステムというのは、システム上ネットワークを組みますが、インターネットに接続するとは限りません。

Q「OS/DB/DC」の「DC」って何?

プログラマーの技術経歴書のフォームに
「OS/DB/DC」という項目があるのですが
「DC」ってなんのことでしょうか・・?

今まで関わったプロジェクト毎に
システムの詳細や使った言語などを書くフォームなのですが・・
OSはOS、DBはデータベースの事ですよね
DCって・・?

Aベストアンサー

昔、DCシステムの開発を行ったことがあるものです。
通常DB/DCのようにデータベースと対で使われます。

WindowsやUNIXなどはOSがネットワーク機能を持っていますが、ホスト(メインフレーム)はそうではありません。そこで、ホストのデータベースが端末と通信するときにはそのデータベース専用の通信ソフトウエアが必要でそれをDCシステムと言いました。
だから、ホスト以外にDCと言う言葉を使うのは違和感があります。

Q汎用機からオープンシステムへののメリット・デメリット

お世話になります。

近年、自治体が様々な電子化を図っておりますが、その際によく聞くのが
「汎用機システムからオープンシステムへの移行にともなう問題」というのがあります。
その点について何点かご教授いただければと思います。

1.汎用機のサーバ化とは?
 オープンシステムにシステムを移行するとともに汎用機のサーバ化を図る
 ということを聞きますが、汎用機のサーバ化とはどのようなことなのでしょうか。
 文字通り汎用機をサーバーとして利用するということでしょうか?

2.汎用機システムでは柔軟な対応ができない、とは?
 自治体のこれからのオンライン中心のシステムにおいて汎用機システムは
 柔軟な対応ができない。なぜ汎用機システムでは柔軟な対応ができないのでしょうか?

3.汎用機では法改正等の修正が困難
 汎用機でもこれまで法改正等によるシステムの修正は行ってきました。
 オープンシステムに移行しても同様に修正は必要です。
 なぜ汎用機では困難である、ということになるのでしょうか?

4.オープンシステムとは。
 過去のQ&Aを参照したのですが、いまいち分かりません。
 汎用機の対義語であり、ソースを公開(オープンしているもの)というのは分かるのですが、
 具体的にはどういうことなのでしょうか?
 汎用機(大きなコンピュータ)に対して既成の(例えばNEC等の)PCを設置して
 クライアントサーバー形式にするということなのでしょうか?
 要領が得ない質問でまことに申し訳ありません。

たくさん質問してしまって申し訳ありません。よろしくお願いいたします。

お世話になります。

近年、自治体が様々な電子化を図っておりますが、その際によく聞くのが
「汎用機システムからオープンシステムへの移行にともなう問題」というのがあります。
その点について何点かご教授いただければと思います。

1.汎用機のサーバ化とは?
 オープンシステムにシステムを移行するとともに汎用機のサーバ化を図る
 ということを聞きますが、汎用機のサーバ化とはどのようなことなのでしょうか。
 文字通り汎用機をサーバーとして利用するということでしょうか?

2.汎用機シ...続きを読む

Aベストアンサー

汎用機の集中型からクラサバの分散型になぜ変遷したかを調べればわかると思います。以下は私の記憶だけでかいていますので「そりゃ違うだろ」の場合はフォローお願いします。

汎用機ってのはたいてい1つのメーカー(たとえば日立,NEC,富士通)の製品で構成されます(プロプライエタリシステムといいます)。それは何故かと言うと,汎用機の仕様が公開されていないからA社の汎用機なら,A社の汎用機用の周辺機器を使わざるを得ないからです(他社の製品を使うことも可能ですが大変複雑です)。これに対していろんなメーカーから公開された(オープンな)仕様の製品で構築することをオープンシステムっていいます。
オープンシステムのメリットは,性能や価格の競争ができるという点です。
あとオープンシステムという言葉とともにクライアントサーバシステム(CSSとかクラサバとか言われます)があります。
汎用機を使ったシステムは,プリンタやアプリケーション等の資源がホストマシンの場所に集中している集中型コンピューティングで,クライアントサーバシステムは,プリンタやアプリケーション等の資源が分散している分散型コンピューティングです。
集中型は処理要求と処理実行とを汎用機ひとつで行います(銀行オンライン端末とかそうですね)。分散型は処理要求をクライアントで,処理実行をサーバで行います(インターネットがそうですね)。

で。各問いに回答すると

1.汎用機は高いんです。何億もするんです。吹っかけてはいないんだろうけど,汎用機の開発コストは非常に高価です。でもサーバは安いです。なのでコストをさげるために汎用機からサーバへと代わっていきました。パソコンとかでもまだマイコンといわれていた時代は汎用機同様に各社が自社開発していましたが,今はPC/AT規格に基づいたものになっているのがほとんどで自社開発する部分が極端に少なくコストが下がっていますよね。

2.汎用機の運用をすればわかるのですが,ソフトウェアを誰もが簡単に変更すると集中型ゆえに良い影響も悪い影響も*全てに*出るため,汎用機のライブラリ管理やジョブ管理等は厳格に管理されています。このため,扱い(運用管理)がとても面倒です。たいていは専属のオペレータが何人もいます。パソコンのように「パッチが出たから適用するか」「バージョンアップするか」なんて直ぐにはできないのです。

3.2.でも書いたようにソフトウェアの修正が簡単にできない上に,COBOLやPL/Iを使える開発者も少なくなってきており技術者不足も問題視されています。

4.冒頭で書いたとおりです。1社独占の閉ざされたプロプライエタリシステムに対し,各社の(外部仕様が)公開された(オープンな)システムのことをオープンシステムといいます。処理形態をいう集中型,クラサバ型とは少し意味合いが違います。


2-3.ユーザから見たC/SコンピューティングによるLIS:片岡浩巳(高知医科大学医学部附属病院検査部)(A&T)
http://www.aandt.co.jp/jpn/lis_p/2-3.htm
(集中型と分散型の違いがわかりやすく書いてあると思います)

クライアントサーバシステムとは(e-Words)
http://e-words.jp/w/E382AFE383A9E382A4E382A2E383B3E38388E382B5E383BCE38390E382B7E382B9E38386E383A0.html

オープンシステムとは(e-Words)
http://e-words.jp/w/E382AAE383BCE38397E383B3E382B7E382B9E38386E383A0.html


#でもまたTCOの問題で分散から集中に回帰しているようですね(笑)

汎用機の集中型からクラサバの分散型になぜ変遷したかを調べればわかると思います。以下は私の記憶だけでかいていますので「そりゃ違うだろ」の場合はフォローお願いします。

汎用機ってのはたいてい1つのメーカー(たとえば日立,NEC,富士通)の製品で構成されます(プロプライエタリシステムといいます)。それは何故かと言うと,汎用機の仕様が公開されていないからA社の汎用機なら,A社の汎用機用の周辺機器を使わざるを得ないからです(他社の製品を使うことも可能ですが大変複雑です)。これに対してい...続きを読む

Qベンダー、SIer、システム開発会社、ソフトハウスの違いを教えて!

ベンダー、システムインテグレータ(SIer)、システム開発会社、ソフトハウスの違いがよく分かりません。教えてください!

たとえばマイクロソフトはどれに当たるのかなど、
有名企業を例に挙げていただくとイメージしやすいかと思います。

Aベストアンサー

# 有名大手は規模が大きすぎて部門/グループ会社ごとに別の側面を持ってます。
# 質問者さんがその会社のどの情報を持っているか(いないか)で
# 例に挙げた企業のイメージがまったく異なりますので、
# かえって誤解させる可能性が高いと思います。
#
# 一般には単にIT企業として有名だが、SIer部門も業界では有名で、
# ソフトウェアベンダ部門も一部に有名で、ハード部門からサービス部門からいろいろ持ってて、
# ソフトハウスなグループ会社もあり、違う会社もあり…。


(ソフトウェア)ベンダー≒ソフトハウス
システムインテグレータ(SIer)≒システム開発会社

ソフトハウスってのは一般にソフトウェア開発専門/メイン(自社製品/受託)の会社。

「○○ベンダ」は○○の提供元のことで、多くのソフトウェアベンダは
自社開発したソフトウェア製品を販売してる(この場合、見方を変えればソフトハウスの一種ともいえる)
まぁ他社製品の販売だけの販売代理店もベンダの一種ですが。

システム開発会社はシステムインテグレータ(SIer)と同義かと。
「お客様のシステム」を設計して開発して支援するのがお仕事。
ソフトウェアは本来そのための部品であって、通常は
ハードウェアやサポート等を含めたソリューションを提供する。

# 有名大手は規模が大きすぎて部門/グループ会社ごとに別の側面を持ってます。
# 質問者さんがその会社のどの情報を持っているか(いないか)で
# 例に挙げた企業のイメージがまったく異なりますので、
# かえって誤解させる可能性が高いと思います。
#
# 一般には単にIT企業として有名だが、SIer部門も業界では有名で、
# ソフトウェアベンダ部門も一部に有名で、ハード部門からサービス部門からいろいろ持ってて、
# ソフトハウスなグループ会社もあり、違う会社もあり…。


(ソフトウェア)ベンダー≒ソ...続きを読む

QCOBOLのプログラミング力を上げるには?

私は25歳女性、現在COBOLのプログラマーです。
去年の夏2か月ほどCOBOLのプログラミングをした経験がありますが
初めてで全然できず、いろんな上司に手伝ってもらいながらやっとできました
(ほぼ他力)。

今月からまたプログラムを作ることになり、ソースは勉強して読めるようになりましたが、「この処理の詳細設計書いて!」と言われても。全く書けません。
どういう処理なのか教えてもらっても、理解するのに他人の10倍は時間が
かかります。

あまりにできなくて自信がなくなり、質問しにいくのも恥ずかしく、落ちこんでばかりです。ネットで調べても、本を読んでも、あまり実務につながりません。
上司もなんだか呆れています。
派遣で今の会社にきて1年半、この間ほぼ事務職だった私には、はっきり言ってプログラミングは厳しいです。
新卒の子は一人一人に教育係がいるのですが、私はすべて自分で動かないと何も進みません。
なのに周りは男性ばかりで質問するのが恥ずかしく、一人で考えて煮詰まっちゃいます。

今のプロジェクトでがんばって、評価してもらおうと気合十分だったのですが、
早くも挫折してしまいました。
このままではタイトなスケジュールの中、私が足を引っ張り他のメンバーに
迷惑がかかってしまいます。

勇気を出して質問にいくようがんばりますが、それ以外に
どう努力したらいいのでしょうか><。

どうようもないことで質問をしてすみません。

ちなみに今担当している処理は
(1)ファイルを読み込む→データを抽出→抽出したデータをファイルに出力
(2)出力ファイルのデータをDBに取り込む

簡単そうでなかなかできません。

私は25歳女性、現在COBOLのプログラマーです。
去年の夏2か月ほどCOBOLのプログラミングをした経験がありますが
初めてで全然できず、いろんな上司に手伝ってもらいながらやっとできました
(ほぼ他力)。

今月からまたプログラムを作ることになり、ソースは勉強して読めるようになりましたが、「この処理の詳細設計書いて!」と言われても。全く書けません。
どういう処理なのか教えてもらっても、理解するのに他人の10倍は時間が
かかります。

あまりにできなくて自信がなくなり、質問しにいくのも恥...続きを読む

Aベストアンサー

プログラミング力という言葉が使われていますが、この「力」の中には、

1.言語仕様を理解し、コーディングができる能力
2.仕様を理解し、アルゴリズムを作成する能力

のふたつがあると思います。

前者は、他の方が言われているような、MOVE や PEFORM とか IF や EVALUATE だったり、最後にピリオドがなければならない、ということです。
これは言語によって、異なるので、新しい言語を習得するたびに必要なことです。

後者は、
・詳細設計書を読み解き、実現したい「現象」を(データベースやファイルのフィールドがどうならなければならないかまで)具体的に理解すること

と、そのうえで、

・その「現象」を実現するためのアルゴリズムを組み立てる能力

と言えると思います。

フローチャートの読み方のときに教えてもらったと思いますが、手続き型プログラミング言語の基本構造は、
・順次
・判断
・繰り返し
この3つしかありません。すべてのアルゴリズムはこの組み合わせです。

これがわかっていて、フローチャートが書けているならば、詳細設計に書かれている、実現したい「現象」を具体的に理解していますか?
「理解する」ということの、一番簡単な説明は「他人に説明できる」ということです。他人に説明できますか?

他人に説明できるのであれば、COBOLの言語仕様は理解していますか?
アルゴリズムがわかり、現象が他人に説明でき、COBOLの書き方を理解していて、はじめて、コーディングができるのだと思います。


フローチャートは書けるとのことですが、おそらくは、「現象」を他人に説明できるほど、詳細設計書を理解していないんだと思います。
さらに、「現象」が理解できないことを、処理をCOBOL言語で書けないことにすりかえてしまっており、(もしくは混同してしまっており)前に進めていないのだと思います。

いくつかのヒントを出しましたが、自分がなにがわからないのかを明らかにし、ひとつひとつ前に進んでいってください。

さしあたり、春の基本情報処理技術者試験の受験をおすすめします。:-)


最後に、えらそうなこと書いてすいませんでした。m(_ _)m

プログラミング力という言葉が使われていますが、この「力」の中には、

1.言語仕様を理解し、コーディングができる能力
2.仕様を理解し、アルゴリズムを作成する能力

のふたつがあると思います。

前者は、他の方が言われているような、MOVE や PEFORM とか IF や EVALUATE だったり、最後にピリオドがなければならない、ということです。
これは言語によって、異なるので、新しい言語を習得するたびに必要なことです。

後者は、
・詳細設計書を読み解き、実現したい「現象」を(データベースやファ...続きを読む

QSQLとPL/SQLの違いなど

いま会社でPL/SQLのシステムを構築する話が持ち上がっているのですが
SQLとPL/SQLでどのような違いがあるのかがいまいち分かりません。
あと、PL/SQLの開発システムを導入しようとするときに
どのようなソフトを入れればよいのかも、よく分かっていない始末です。

単純な質問なのかもしれませんが、わかる方よろしくお願いします。

Aベストアンサー

>SQLとPL/SQLでどのような違いがあるのかがいまいち分かりません。

簡単に言いますとBASICに似た構文のプログラムをオラクル(DBMS)がSQLと同じレベルで処理してくれるものです。
他のデータベースで言うところのストアドプロシージャと同じですからロードはオラクル内に格納されオラクル内で実行されます。


>あと、PL/SQLの開発システムを導入しようとするときにどのようなソフトを入れればよいのかも、よく分かっていない始末です。

サーバにオラクルがインストールされていれば何もいらないと思います。
もちろん開発はテキストエディタになってしまいますが。

QCOBOLで文字タイプを数字タイプに変換する方法

すいませんコボル初心者の者です。周りに聞く人がいずに困っています。
アドバイスよろしくおねがします。

例えば、IN-SUNPO PIC X(7)に "0.25"や"0.025"と値が入っているとします。
この項目を OUT-SUNPO PIC 9(4)V9(3)にセットして出力したいのですが
いい方法が考えつきません。
どのようにすれば実現するのでしょうか。
また、IN-TANAK PIC 9(8)をOUT-TANKA PIC X(10)に左詰でセットするために
入力項目の頭のゼロをどう処理していいかもわかりません。
考えても結論がでませんでしたので、投稿しました。
宜しくお願いします。

Aベストアンサー

★ひとつ目の質問。
いろいろと特殊命令を使いますが簡単にコーディングできますし、覚えておくと便利です。

01 wk-seisu.
 03 wk-seisu9 pic 9(4).
01 wk-syosu.
 03 wk-syosu9 pic 9(3).

*<< in-sunpo の空白を0に置き換える >>
inspect in-sunpo replacing all " " by "0".

*<< 「.」で判断して整数と少数に分ける >>
unstring in-sunpo delimited by all "." into wk-seisu wk-syousu.

*<< 分けた数字を合わせる >>
compute in-sunpo = wk-seisu9 + (wk-syosu9 / 1000).



★ふたつ目は他の方が回答されているのと同じです。

*<< 符号(-)があるとき >>
01 wk-tanka.
 03 wk-kanka9  pic -------9.
*<< 符号(-)がないならこれでもいいです >>
01 wk-tanka.
 03 wk-tanka9  pic zzzzzzz9.

move in-tanta to wk-tanka9.
move wk-tanka to out-tanka.



お役に立つかちょっと不安ですが(^^;)
コボル言語は他の言語と違って、ある程度法則を覚えると簡単です。
頑張ってくださいね。

★ひとつ目の質問。
いろいろと特殊命令を使いますが簡単にコーディングできますし、覚えておくと便利です。

01 wk-seisu.
 03 wk-seisu9 pic 9(4).
01 wk-syosu.
 03 wk-syosu9 pic 9(3).

*<< in-sunpo の空白を0に置き換える >>
inspect in-sunpo replacing all " " by "0".

*<< 「.」で判断して整数と少数に分ける >>
unstring in-sunpo delimited by all "." into wk-seisu wk-syousu.

*<< 分けた数字を合わせる >>
compute in-sunpo = wk-seisu9 + (wk-syosu9...続きを読む


人気Q&Aランキング