人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

COBOLの難易度・壁の高さについて質問です。

現在、知り合いが勤めている会社(大手企業の地方工場?)にて
COBOLを扱える社内SEを募集しており、私が誘われています。

私はPHPの経験5年程度で、COBOLを扱ったことは全くありません。
ちょこっと検索して「COBOL入門」みたいなサイトを見ても、「なんか面倒くさそう」という印象でした。
こんな状態でゼロから勉強してもやれるものでしょうか? それとも難しいでしょうか?
あるいはどうせ勉強するなら、別の将来性ある言語をやったほうがいいでしょうか?

知り合いはあまり技術に詳しくない人なのでSE業務の詳細についてはよく分からないそうですが、
どうやら既にあるCOBOLシステムの運用と、それ以外のヘルプデスク的な仕事がメインのようです。

質問点を整理しますと、
1:PHPのみの経験者がCOBOLをこれから勉強してシステム維持・運用など可能なのか?
2:COBOLをゼロから習得するのと、他の言語(たとえばJAVAやC#、C++など)の習得、どちらが良いか。


●質問者: smile4ever
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:C# C++ COBOL Java PHP
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● pahoo
●19ポイント

1:PHPのみの経験者がCOBOLをこれから勉強してシステム維持・運用など可能なのか?

アーキテクチャが同じであれば可能。

PHPの経験が主にWebアプリなのであれば、同じようなWebアプリのために書かれたCOBOLシステムに移行することは、それほど大変ではありません。


2:COBOLをゼロから習得するのと、他の言語(たとえばJAVAやC#、C++など)の習得、どちらが良いか。

PHPとCOBOLという言語の違いというより、アーキテクチャの違いの方が習得の障壁になります。


PHPが得意とするWebアプリと、COBOLが得意とする基幹業務系アプリとでは、ハードウェア、基本ソフト、ミドルウェア、ビジネスモデル、ユーザーインターフェースがまったく異なります。


これはJavaやC#についても言えることです。

PHPでクラスが使える方であれば、比較的すんなりとJavaやC#のコードは書けるはずなんですが、アーキテクチャが違うと、まず使用するフレームワークの思想が全く違いますので、いきなり壁が高くなります。


つまり、同じアーキテクチャなのであれば、COBOL、Java、C#のどれを選んでも、それほど大変なことはないと思います。

もしアーキテクチャが異なるのであれば、PHPに文法が比較的近いJavaから入るのが無難でしょう。もちろん、アーキテクチャをマスターすることが大前提ですが。

◎質問者からの返答

ありがとうございます。

大手メーカーですので、COBOLシステムはおそらく基幹業務系だと思われます。

そして私は基幹系の経験はなく、Webシステムの経験のみです。

クラス(オブジェクト指向)は一通り理解しているつもりです。

JAVAの本などをざっと見た限りでは、PHPでのOOP開発とさほど違いが無いように感じました。

PHP5よりもJAVAのほうがちょっと制約や決まりごとが多いだけかな・・・という印象です。

COBOLとなると、もうまったく意味が分からない、文法も難しそう・・・という感じでした。

将来的にはWindowsアプリも作りたいので、VC#.netかVC++.netが良いのかな、とも思っております。(Web系はもうPHP一本でやってしまう)


2 ● kn1967
●19ポイント

php も java も文法的には C の流れを汲むものですから似てますが、

COBOL の文法はまったく異なるため、まずはそれに面食らいます。

それから次にドキュメントの量に面食らう事でしょう。


他の業務を止めての準備期間一ヶ月だとしても、Linux+WebDBの経験からでは、

「COBOLを扱える社内SE」どころか「COBOLをかじりかけの人」として入るのが、

精一杯、無理ありすぎかと思いますので、私なら断ります。


しかしながら、もしも、もしもですが、そこまで要求されているのではなく、

これからの成長も見込んでくれているならば、枯れた技術(成熟した技術)を、

習得する良いチャンスと思います。


オープン系やWeb系ではおざなりになってしまいがちなドキュメント管理等の基礎、

からみっちりと身に付ければ、環境や言語が変わってもさしたる問題はないです。

言語の将来性などは瑣末な事です。時代時代にあったものをチョイスするだけです。

(この30数年、何種類覚えて、そして忘れたことか・・・)


3 ● RareMetal
●18ポイント

PHPとかJAVAに比べてcobolは設計思想から大きく異なる前時代的言語です.

ただ、文法を学べば習得は容易です。

むしろ問題は、デバグの困難さですね。PHPなどのインタプリタ言語と違ってcobolはコンパイルして動かすため、デバグが困難です。

あなたにとって、この生産性の低さが大きな問題と感じます。

それとcobolエンジニアは団塊世代に腐るほどいて、退職してしるため低賃金で働きます。

ここで彼らと競合するのは得策ではないと思います。

また、死んだ言語を習得できても、将来性はありません。

Javaを学んだ方が、近いし将来性もあるので、お勧めします。


4 ● chuken_kenkou
●18ポイント

1:PHPのみの経験者がCOBOLをこれから勉強してシステム維持・運用など可能なのか?

COBOLの言語体系は、英文のようであり独特です。

しかし、代入、判定、繰り返しなどの処理は、他のプログラミング言語に慣れているなら、修得はそう難しくはありません。

また、COBOLの国際標準仕様の改定、それを反映したコンパイラが主要メーカーから次々と出てきており、アドレス操作、オブジェクト指向、オープンシステムへの対応も行われています。

階層型、ネットワーク型DBだけでなく、SQLでリレーショナルDBを使えるのはもちろんのこと、メインフレームからUNIXサーバ上のDBを操作したり、その逆の操作も可能となっているものも少なくありません。

ただ、それぞれの処理系により性能を出すための記述の仕方があり、文法を知っているだけではだめです。

また、SEという立場であれば、JCL(Windowsのバッチのようなもの)やOSの機能についても、いろいろ知る必要があります。


2:COBOLをゼロから習得するのと、他の言語(たとえばJAVAやC#、C++など)の習得、どちらが良いか。

COBOLによる新規案件が少なくなっているのは事実ですが、現在、世界で稼動中のシステムの過半数はCOBOLで構築されているという調査結果があります。また、COBOLの資産をすべて他の言語に書き換えるというのは容易ではなく、COBOLをWindowsやUNIX上でそのまま動かす形での移行を行っている例も少なくありません。

「今もCOBOLが使われているのは、金融機関くらい」と思っている人もいるようですが、ライフラインを支える多くのシステムで、現在もCOBOLが使われています。

CやJAVAを知っている人は多数おり、これからもどんどん増えていくでしょう。一方、COBOLの技術者は少なくなっており、そういった意味でも知っておいた方がいいかも知れません。


5 ● RON
●18ポイント

どちらもたくさんコードを書いた経験があります(笑)

1:PHPのみの経験者がCOBOLをこれから勉強してシステム維持・運用など可能なのか?

COBOLは簡単です。基本の本をぱらーっとめくって、他人様のコードを見ていれば、わかります。もともと「英語を書くようにプログラムができれば」の思想から始まってますし、そもそもメインフレーム系の言語は多くの人を集めて、分割して作ることを想定していますから、むつかしくないのです。

またFORTRANやCOBOLはコンパイラーとしては、非常にランタイムライブラリーが小さいのです。つまりコーディングされているステートメントは素直にアセンブラに展開されています。

CPUの動きに割合と忠実にできています。プログラムの上から下に向かってプロセッサーが処理していく、という原始的な流れです。

ただ、メインフレームの運用は文化的にオープン系とまったく違います。すべてをログしていく、というのが基本です。パソコンや端末から、オンラインでコマンド出して仕事終わりとはなりません。多くの場合、バッチという形で証跡を残すことを求められます。これは言語の問題じゃないですが、一番戸惑うところだと思います。

2:COBOLをゼロから習得するのと、他の言語(たとえばJAVAやC#、C++など)の習得、どちらが良いか。

技術的興味からすれば、Javaでしょうね。もっとも新しいプログラミング言語の思想の元に作られていますし、莫大なライブラリーがあり、なんでもできてしまいますから。また、オブジェクト指向に始まり高度な概念が多くふくまれており勉強になります。高い生産性を誇ることができます。

しかし、COBOLがダメかというと疑問が残ります。Javaは基本的に文字列のふりをしているStringはクラスです。単純に業務で文字列と数字の処理をする時、メンドクサイ面もあります。大量データ処理とだけ考えると、COBOLはみんなが知らないまま批判するほど悪い言語とも思えません。要するにメインフレーム批判と同じで、知らないから一方的な批判をしているとしか思えないです。

言語の学習は、数種類覚えなければ、すぐれたエンジニアにはならないでしょう。ひとつの言語を覚えたからなんとかなる、なんていう幻想はやめましょう。

私ですらWEBアプリならPHPで書きますが、内部からTCP/IPでいろいろやらねばならんのなら、そこはJavaで書きます。データを集積してレポート作るならVBがやっぱり手っ取り早い。適材適所で言語は使うものでしょう?そのノリでCOBOLくらい覚えちゃってください。いろいろなことができるというのは価値があがりますよ。

また、どなたかが退職した団塊の世代が低賃金で働くから、低賃金のままだといっていますが、それは今の労働市場と違っています。当初はそういう予想がされていました。しかし、現実の団塊の世代の行動は、いまさら低賃金で若造に使われるのはイヤだといって、ほとんどが職場に戻ってくれなかったのです。それゆえ、COBOL専門の会社が立ち上がったりしています。残り物に福あり、のパターンになりつつあります。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ