COBOLの学習は依然として理にかなっていますか?
COBOLの学習は依然として理にかなっていますか?
回答:
まだCOBOLが維持されているニッチ市場にいない限り、そうは思いません。
いや、もちろん違います。結局、COBOLは死んだ言語です。またはそれは?
その見方の問題は、このようなサイトのプログラマーは、通常、ハイテク企業、高速企業(および同様に高速企業)で働いているということです。彼らにとって、COBOLは死んだ言語です-どこにも見当たりません。しばらくの間、そうではありません。
しかし、COBOLは彼らのためのものではありませんでした。ソフトウェア業界にはこれ以上のものがあります。コンピュータは、常に古いものをアップグレードして新しいものと交換する必要がある不合理な人々のために発明されたわけではありません。それらはビジネス目的のために作られました。
COBOLを見たいですか?給与計算を処理する会社に移動するか、商品のトラック輸送、出荷(船の場合のように)、または銀行口座を処理します。ユーザーには実質的に見えない巨大な目に見えないコードシステムがあり、ほとんどのユーザーは毎日何らかの方法で遭遇しますが(ATM?)
いいえ、死んでいません。しかし、それは確かに「レガシー」です...またはそれですか?
繰り返しますが、それをどう見るかによって異なります。最近では、多くの人がCOBOLの代わりにJava、C、または他の何かを使用して、ゼロから書き直します...進行中に新しいバグを自然に導入します。これは、COBOLにバグや癖がないと言っているわけではありません。次の言語と同じように機能します。もちろんそうです。しかし、「COBOL時代」では、バグを保険会社や保険会社よりも真剣に扱った企業は、特別な品質のサービスグループで高品質のコードを生成する傾向がありました。今日では、時間と予算が常に品質に勝る締め切りがあります。また、これらのシステムは当初、現在の同等のシステムと比較して、当初より長い期間開発されました。
一部のソフトウェアが30年以上機能している場合、切り替えるインセンティブはどこにありますか?「破綻していなければ、直さないでください」という古い格言を無視したため、企業全体が廃業しました。多くの人がそれを書き直そうとしました...そして最初の書き直しには多くの費用がかかり、そして2番目の書き直しはさらにコストがかかりました...そしてそれらの新しくて改善されたものはそれを置き換えることができませんでした。私が言ったように、この産業は急速に燃えています、そして、それはまた、速く忘れる傾向があります。
70年代にCOBOLは死んでいるか、まもなく死にかけていましたが、C / C ++が支配していました。その後、再び80年代初頭にパスカルが引き継ぎました。それから90年代には、言語としてのJavaが...
Unisys Mapper、dBase、Clipper、Cold Fusionについて考えてみてください...人々はそれらを覚えていますか?それらのそれぞれがCOBOLの墓掘りになります。
それを考慮し、大量のトランザクションの処理、バッチ処理、またはレコード/トランザクション指向の処理に最適であり、30年前にマネージCOBOLコードとして記述されたサブルーチンを(エラーなしで)コンパイルできるという事実マネージドCOBOL.NETからWindowsと.NETに移行したい場合、適切な代替品を見つけることができません。(また、10年以上続いたMicrosoftテクノロジーを見つけるのに苦労しています。)
はい、今日、新しいCOBOLコードが作成されています。どこを見るべきかを知る必要があります。
COBOL、IMHOを笑う人にとっては、エジプトのピラミッドを笑うようなものです。彼らは5000年前から存在しており、今後5000年もそこにいるでしょう。来月忘れられました。
では、これらのCOBOLプログラマーはどこにいるのでしょうか?
ああ、ここにこすりがあります。問題は、多くの人がコンピューティングサイエンスのバックグラウンドを持っていないことです。彼らの多くはプロのプログラマーではありません(CS / SEプログラムの大卒者のように)。ほとんどの場合、彼らは30代から50代後半のすべての専門分野の人々であり、その仕事のために会社によって完全に訓練されています。したがって、彼らは「COBOLプログラマー」ではありません。彼らが受けたトレーニングは、社内から非常に大きく宣伝している会社に固有のものです。そして、それはそれらをほとんど見えなくします。
多くのヨーロッパの企業は、依然としてz / vseやcobolプログラムのように実行されているメインフレームに大きく依存しています。熟練したCobolプログラマーに対する需要があり、誰も市場がいっぱいになるとは思わず、それが給料を大きく押し上げます。
質問は、「cobolを使用して新しい何かを開発することはありますか?」ほぼすべてがメンテナンスまたは既存のミッションクリティカルなもののバリエーションであるためです。
私はCOBOLとPL / Iコードが毎日書かれているIBMで働いていました。また、1秒あたり数千のトランザクションを必要とする多くの銀行のようなIBMのメインフレームに依存している大企業からも、これらの言語は依然として大量に使用されています。
あなたがそのような場所で働きたくないのであれば(それが私が6ヶ月間そこで働いた理由です)、それらの言語を学ぶことさえ考えないでください。
私たちは毎日新しいCobolコードを書いており、新しいプログラマを常に探しています。このあたりの供給量が少なすぎます。
COBOLプログラマーとしての仕事が必要な場合は、必ず学習してください。
それ以外の理由で、最新のプログラミング手法で役立つかもしれない有用なことを学ぼうとするなど、気にしないでください。
私はそれをどのように「学んだ」かを伝えることができます。
私はそれを使って仕事をしていました。
したがって、必要な場合は学習できます。役に立たない知識で自分をオーバーロードする必要はありません。あなたが実際にそれを実際に必要としない限り、それまたはその関与には興味深いものはありません。
一般的な答え:特定の実装(言語など)ではなく、コーディングの原則を学ぶ
私はそれ以上の時間を費やすことはありません。
とにかく、COBOLは20 \ 30年前に開始されたいくつかのBig Companyにとってミッションクリティカルな多くのレガシーアプリケーションプログラムの構成要素です。
そのため、COBOLのコアビジネスの一部を持っている会社に雇用された場合、学習を開始しなければならない可能性があります。
結局のところ、物事がどのように機能するのか(または以前は機能していたのか)を知っているのは悪いことではありません。
ただし、履歴書でCOBOLのスキルを強調しすぎることはお勧めしません。
一部の場所(たとえば、私が住んでいるシリコンバレー)では、履歴書にCOBOLが含まれていることは問題になります。確かに、あなたはあなたの専門知識を必要とするあちこちで場所を見つけるかもしれません、そして、その場合、先に進んで、それらの場所だけにそれを宣伝してください。ただし、一般的には、COBOLを知っていることを忘れないでください。
そう、もし興味があるなら、それを学んでください、誰にも言わないでください。
労働市場の観点からは価値がないかもしれませんが、「良い昔」に行われた作業の感触をつかむためだけにそれを見たいと思うかもしれません。^^
オーストラリア最大の求人サイトで「cobol」を検索したところです。87件の結果が返されましたが、(ざっと見たところ)銀行や金融機関のレガシーメンテナンスポジションのようです。おそらくCobolの経験の希少性のために、「近代的な」言語ベースの仕事よりも明らかに明らかに良い給与を支払っています。
ええ、1)レガシーメンテナンスを行うことを気にしない、2)十分に支払われており、おそらくあまり学習していないため、あまり競争力のないニッチにしたい場合、Cobolは学習する価値があるようです。
(私はCobol市場がほとんどの第一世界経済で類似していると仮定していますが、間違っている可能性がありますか?)
作業したい問題のあるドメインの種類を考えてください。通常、これらのドメインには、一般的にその目的で使用される言語のセットがあります。COBOLがそれと一致する場合、先に進みます。
cobolか、10フィートのポールでそれを頻繁に使用する問題のあるドメインに触れる方法はありません。私はむしろハンバーガーをひっくり返したいです。
また、言語がプログラミング能力/概念に何らかのボーナス/改善を提供しているかどうかも考慮してください。COBOLでできること/実装/機能が、良くできていない、または他の言語でより良く実証できるとは考えられません。
あなたと他の人は異なる感じがするかもしれません。
COBOLで書かれたレガシーシステムがまだたくさんあります。それらを維持したい場合でも、他のプログラミング言語に移植したい場合でも、COBOLを学ぶ価値はあります。
それが何であれ、複数のプログラミング言語の知識はプラスになります。それは、さまざまなプロジェクトのニーズに合わせてプログラミング言語またはアプローチを選択できるためです。プログラミング言語の知識を活用して、より優れた、よりクリーンで効率的なコードを構築し、落とし穴を回避できます。