パスワードを忘れた? アカウント作成
13443148 story
プログラミング

若者をCOBOLエンジニアとして育てることの是非 117

ストーリー by hylom
需要がなくなることはあるのか 部門より
あるAnonymous Coward 曰く、

日経Itproにて、「新卒社員にCOBOLを習得させて現場に投入していいのか」という問題提起がされている。

さまざまな言語、アーキテクチャ、開発手法が広がるなか、目先の売り上げほしさに新入社員にCOBOLを学ばせて現場に投入することはよくないのではないか、という内容だ。

といっても今の若者が引退するくらいまではCOBOLのシステムは生き残っているだろうからまっとうなCOBOLエンジニアになれればそれはそれで一生食えるような気もする。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2017年10月30日 13時41分 (#3303817)

    COBOLは触ったことがない身だけど、COBOLって習得してしまうとほかの言語を扱うことができなくなる呪いでもあるの?
    // ファーストインプレッションの言語によってプログラムの思考法がその言語ベースになっちゃいがちってのはあるだろうけど、矯正できないわけでもなく

    • Re:よくわからん (スコア:4, おもしろおかしい)

      by Anonymous Coward on 2017年10月30日 13時47分 (#3303825)

      んなこたーない

      無いけど、最近の言語に比べるととっつきにくいという点では学習コストも
      安くないから、それ専門でやろうとするとどうしても専属になりがちになる。
      (それに今どきCOBOLやりだしたら、みんな寄ってたかってお願いされて
      なおさらほかの言語なんて触る暇なくなる)

      という意味では呪いかもしれん

      親コメント
    • by Anonymous Coward on 2017年10月30日 14時09分 (#3303835)

      行長さや変数名長の制限がある古い COBOL の相手をさせられ、それが良いものだと教えられた人は可哀想だと思いますね。

      古い C しか書けない、読めない、認めない職場ですが、
      ・変数名、関数名が 6 文字以内(変な略語ばかり、かつコメントがないのでわけがわからない)
      ・変数定義を関数先頭で全部やる(百以上あるので、それだけで画面が埋まる)
      ・関数分割しないので数千行の関数がゴロゴロ
      みたいのを新人に押しつけて何人辞めていったことか……
      そして生き残った人間もそれを量産し、C はおろか C# や Java でも同じようなコードを量産して一向に成長しない。

      言語も進化している、もっと良い書き方がある、現代的なテクニックがある、ということを教え、成長させる余地を作れるなら、COBOL でも BASIC でも育てるには良いとお思います。

      # 新人に「リーダブルコード」を渡したら上司に持って行かれた AC

      親コメント
      • by Anonymous Coward

        >変数定義を関数先頭で全部やる(百以上あるので、それだけで画面が埋まる)

        それって、先頭で宣言するしないという問題じゃない気が・・・。

    • Re:よくわからん (スコア:3, 参考になる)

      by Anonymous Coward on 2017年10月30日 15時08分 (#3303878)

      二十年以上前に経験したオッサンですが
      矯正出来なくはないけど、あれを一番にやったら
      ヘンな癖が付きそうだとは思う。

      ・オブジェクト指向以前に構造化すらろくに出来てないスパゲッティが多い
      ・古いコードにはバージョン管理なんてされてない部分がある
      ・メーカー、バージョンによって方言が多い
      ・上流の仕事を大手元請けや一次請けが占めてるのでいつまでも設計関連の仕事に携われない

      COBOL出来る人が足りないと言われているけど、
      ああいう汎用機メインの仕事は大手元請けから始まるかなりの多重下請け仕事が多くて
      末端の実際の作業員に割り当てられる金額は少ないからたいした稼ぎにもならない。

      小規模でも新しい潮流の仕事をやったほうがはるかにいいと思う。

      親コメント
    • by Anonymous Coward on 2017年10月30日 19時57分 (#3304079)

      COBOLの問題は、言語や技術にあるんじゃなくて、その仕事環境なんだよね。
      まさに「袋小路」なんだよ。
      先がないのは目に見えているんだけど、専門的な修行(習得よりも修行と言ったほうがいい)
      をしないと使いこなせない。
      新規案件は無いんだけど、新たな仕事はある。
      人材不足なんだけど、どこも積極的に供給しようとしない。

      あらゆる点が矛盾だらけだけど、一定の金額のマーケットはある。

      親コメント
    • by Anonymous Coward

      クラシックな言語だから、今のモダンな言語のような至れり尽くせりの便利な機能は欠けている
      だけどプログラミング言語だからループ、条件判断、分岐は出来る(当たり前)
      別にCOBOL覚えたからといって、自分で他の言語を勉強してはいけないということはない
      今は様々な言語のフリーの処理系をより取り見取りで入手できるから困難なハードルは存在しない(昔はコンパイラ買えなかった、パソコンで動くコンパイラが無かった)
      問題は最初に覚えた言語しか出来ないプログラマになる人が多いことや、一般的なプログラミング言語ならなんでもこなせる基本的な素養を時間をかけて教育出来る余裕が会社に無いこと
      #JavaやJavascriptやPythonやRubyが使えるのに、COBOLが分からないなんて馬鹿じゃない?

      • by Anonymous Coward on 2017年10月30日 14時21分 (#3303844)

        > #JavaやJavascriptやPythonやRubyが使えるのに、COBOLが分からないなんて馬鹿じゃない?

        COBOL の言語仕様が分かっても、 COBOL で書かれたあのコードが一体何をしているのか分からないということは普通にありそう。

        # COBOL に限らずスパゲッティコードってそういうものだよね。

        親コメント
        • by wood377 (46309) on 2017年10月30日 23時20分 (#3304263) 日記

          言語仕様なんて、適当でOK
          どこで使われるか? DBの構造がどうなってるかの方が問題。
          それが分かれば、COBOL, Fortran程度の言語仕様なんてどうでも良い。
          PC環境だと、UI仕様の方が問題だったりする。

          Forthとか、Prolog, Lisp ...まだあったかな。
          そんなの見たら、誤差。

          親コメント
    • by Anonymous Coward

      COBOLは昔にやった事あるけど、かなり考え方が違う。
      共通の考えはあるけど、CとCOBOLで言えば、ユダヤ教とイスラム教のようなもんかな。

    • by Anonymous Coward

      アルゴリズムがそもそも違った様な…

      私が習った時はIF文使用禁止って言われたし、ループの条件もC言語系と逆?trueの間回ってるんじゃなくて、trueになったら抜ける?

  • by nemui4 (20313) on 2017年10月30日 13時41分 (#3303819) 日記

    ほぼまっさらな新人さんにCOBOLだけ教えて仕事させればサラブレッドになりそう。

    なぜ「PCができないのにIT業界に来る若者がいるのか」を推測してみた人の話
    https://togetter.com/li/1165051 [togetter.com]

  • 新卒で入った会社に3年目で退職届を出したときに言われました。
    会社都合で希望と違う部署でマイナー言語ずっとやらされてきたのにこの言い草。

    じゃあ違う言語やらせろよと1年別の仕事やって退職しましたが、マイナー言語はそんな感じに新人の可能性を潰すので、反対です。

  • by Anonymous Coward on 2017年10月30日 13時45分 (#3303823)

    別に業界が COBOL 一色で他に食いようがない、とかじゃないんだから、それ以上は若者の責任でしょ。
    COBOL で目先の飯が食えることを選ぶのだって若者だし、それがつまんなくなってきて職を変えるのも若者次第だ。
    最初に覚える言語が COBOL だって別にいいし、そもそも最初に何を覚えようと次を学ぶ意思が無ければ将来がないのは一緒じゃない。

    • by Anonymous Coward on 2017年10月30日 15時33分 (#3303898)

      若者にCOBOLをやらせるのがその若者の将来によくない、ということは認めるのね。
      それを「自己責任」という言葉で肯定するということは、若者を不利な立場に追い込んで搾取することにあなた自身はなんの良心の呵責も覚えない、ということにつながるのだけど、それも問題ないのね。

      要するに、あなたは自分さえよけりゃどうでもいいという、控えめにいって人間のクズだというのが結論なんだけど、それでもいいのね。

      親コメント
    • by Anonymous Coward

      まったくだ。

      自分で学習した能力を会社に売って食いくものなのに
      会社に教育してもらおうとか料簡が腐っとる。

  • by Sukoya (33993) on 2017年10月30日 13時56分 (#3303829) 日記

    業務経験としてCOBOLを使える事と、そのおかげで過去の仕事の経緯を理解できることは役に立っているけれども。
    今更COBOLを覚えて、なんかいい事あるんでありますかね?
    COBOLが使える人自体は絶賛募集中であっても、現場での業務経験が前提になってません?
    というか、COBOLだけ覚えて何かいいことが?まだVB覚えた方が、VBAに知識流用出来て有用なんじゃないですかね。

    • by Anonymous Coward on 2017年10月30日 14時48分 (#3303863)

      システムを使っているユーザーが要求仕様を作ることができれば問題はないのですが、そういう人はほとんどいません。
      仕様も作り切れないくせにシステムの更改を要求されたとき、設計者はどうすればいいかというと今のシステムを分析します。
      COBOLで作られたものならCOBOLで書かれたコードを読んで仕様を理解するしかありません。

      銀行の統合やシステムの更新で大失敗することが多いのはそのせいです。
      COBOLが分かる人が現場にいないから設計ができない。

      COBOL以外で作り直すにしろ、COBOLでメンテを続けるにしろ、COBOLを覚える必要はありますよね。
      そういう仕事をするのならば。

      スマホのアプリを作るだけならCOBOLは学ばなくてよろし。

      親コメント
  • by Anonymous Coward on 2017年10月30日 15時11分 (#3303882)

    自分の周囲を含む経験上では、大きく2つに分かれますね

    ・実家住まい、兼業農家など別の収入あり、なにかしら働く必要があるが給料は安くてもいいという層
    (「農業の手伝いがあるから休む」などが許されるくらいの緩さ)

      -> COBOLでもなんでもいい、そもそもプログラマーやってるのも片手間

    ・上京してきた若い層など、長期的には自力で首都圏や地方大都市圏で身を固めていく必要がある層

      -> COBOLに浸っていたら確実に給与が頭打ちになり、田舎に帰るしかなくなっていく

    まず、読み手や当人が上記のどちらの立場なのかを明確にしたうえで考えたほうがいいでしょうし、
    本来であれば雇用側(&人出し側)も、その立場を考慮してアサインしてあげるべきではあります

    後者の立場の若者が将来性のない開発にアサインされ、30歳過ぎたあたりから徐々に離職して田舎に帰っていく様を
    何人も見てきています
    (また、実家に帰省すると田舎にはそういう境遇となった旧友が何人もいます)

    逆に、田舎で地銀向けのCOBOL開発をやってて給料は非常に安いが実家くらしで生活は別に苦しくはないという友人もいます
    (ただ、親御さんの年齢上昇に伴い不安が強まっていっている面はあるようですが)

  • by Anonymous Coward on 2017年10月30日 15時59分 (#3303916)

    COBOLより先に消える言語もあると思うが
    そしてCOBOLはいつまでもしぶとく生き残る

  • by Anonymous Coward on 2017年10月30日 22時52分 (#3304245)

    COBOLエンジニア云々は些細な問題で、真に問題なのは「目先の利益」しか考えず、人を育てる気のない企業体質でしょ?
    実態は単なる派遣屋な中小企業なんかに多いけど、あれはもう言語が何であっても関係ないよ
    逆に社員の経歴や経験をちゃんと考える余裕のある企業ならCOBOLエンジニア歴があってもその後の成長につなげられるでしょ?

    そういう会社ほど面接なんかで平然と嘘をつくから本当にタチが悪い

  • by Anonymous Coward on 2017年10月30日 13時41分 (#3303818)

    > システムは生き残っているだろうからまっとうなCOBOLエンジニアになれればそれはそれで一生食えるような気もする。

    くそつまらないシステムのメンテに貴重な若者を縛り付けるなよ
    今の老人が責任持ってさっさとシステム刷新してください

    • by Anonymous Coward on 2017年10月30日 14時11分 (#3303836)

      いや、後から出てきた世代がCOBOLで書かれたシステムを更新しきれずに
      打ち捨て続けてきたからこの有様なんだぜ。
      大昔に作った先人たちの功績を超える物を作れなかった世代が悪いの。
      何でもかんでも年配者の責任にするのは恥ずかしいぞ。

      親コメント
      • by Anonymous Coward on 2017年10月30日 15時18分 (#3303887)

        自分たちの地位が脅かされるのが怖い老人が若者に難癖をつけて刷新させなかった、の間違いだろ

        親コメント
      • by Anonymous Coward

        その年配者が後進育てられ無かったから
        更新できずに後進しちゃったのではないでしょうか

        某所では更新のための死の行進となっとりますし

    • by Anonymous Coward

      若者がそういうところからちゃんと逃げればいいだけだろ。

      自分のキャリアデザインもできないような奴は
      くそつまらないシステムのメンテに縛り付けられて
      一生奴隷働きしてればいいよ。

      • Re:いやいや (スコア:2, すばらしい洞察)

        by Anonymous Coward on 2017年10月30日 14時44分 (#3303860)

        逃げるにもコストがいるんですよ。
        この不況のさなか、そうそう仕事の選り好みができるとでも?

        それと「逃げればいいんだよ」は、本来は人事部「が」言うべき台詞なんだよね。
        本音はそう思っていながら若者を生け贄にすることに、罪の意識は感じないのだろうか。

        親コメント
        • by Anonymous Coward

          IT業界は人が足らなくて大変らしいですよ。

        • by Anonymous Coward

          必要なコストをケチった奴にはろくな将来がないのが当たり前だと思うよ。

          自分の将来は自分のもの。
          会社は自分の時間を買ってくれる取引相手に過ぎない。
          そんな相手に何かしてもらえるとか思うほうがどうかしてる。

        • by Anonymous Coward

          実力があるなら仕事は選べよ。
          ないなら会社にしがみつけ。

          おまえは会社にしがみつけ。しがみつくべき。

  • by Anonymous Coward on 2017年10月30日 14時07分 (#3303834)

    会社として中小SIなら仕事に対してなんだって技術習得しなきゃダメだし
    COBOL教育の前にCでもJAVAでも教え込んだ上でサブセットでCOBOL覚えればよくね?

    実際SIのくそにはJAVAだけって人なんかもいるけど
    よくわからん人らは平気な顔してJava/Scalia/Perl/Ruby/PHP/Python/C#/Kaitlin/Go辺りを使い分けてるでしょ?
    話を聞いたらCで頭の中でロジック組んで頭の中で各言語にコンパイルしてるって言われてよくわからなかったけど

    • by Anonymous Coward

      組んでー というか、まず初めにCでコードが浮かぶんですよ。
      で、それをこの言語ではどうやって実現するのだろうか、ということを考え考え。
      たまに、あれーこの機能ないのー?めんどくせーとか、
      がばって実装したら楽ちんライブラリがあったんだ悔しい!とかになります。
      まあ、その言語の特性とか大枠はあらかじめ知っていないといけないのは当然ですが。
      慣れないと費やす時間は大体が言語の機能探し
      それと、構造の混在。
      うっかりCで then~end でくくっちゃったり
      コメント構文違えたり
      コンパイラに怒られて気が付く

  • by Anonymous Coward on 2017年10月30日 14時29分 (#3303849)

    本人の希望を無視して長年COBOLの現場に縛りつけるとかであれば問題もあるでしょうけど、サラリーマンなら多少は会社都合の仕事を押し付けられるのもやむ無しかと。本当に嫌なら、会社辞めれば済む話ですしね。

  • by Anonymous Coward on 2017年10月30日 14時40分 (#3303856)

    現場は糞

  • by Anonymous Coward on 2017年10月30日 14時59分 (#3303874)

    これまで数々の開発言語を覚えてきて30年になるけれど、全く触らなかったのがCOBOL。
    それは、30年くらい前から既に「COBOLには先が無いからやめとけ」と言われていたから。

    くだんの記事を読むと、同じことが書かれている。
    「先がない」と言われ続けてン十年のCOBOL。
    先が無いと言っていた人たちが間違っていたわけ。

    若者がCOBOLをやってたっていいじゃない。
    やらずに後悔するよりやって後悔したほうがいいよ。
    このCOBOLを30年無視し続けてきた経験でいうけれど。

    • by Anonymous Coward

      同様に20年以上避け続けてきましたけど、後悔はないですねぇ。あまりにも接点がなさすぎて後悔のしようがない。
      Windowsも避け続けてきたけど、こちらは最近面白そうだから勉強してみようと思ってます。

    • by Anonymous Coward

      COBOLに限らずコードを書くのをずっと避けてきた。
      プログラマーなんて安月給で長時間労働と思ってたから。

      業務知識に特化してBAやビジネスサポートやってるけど、
      楽だし定時に帰れるし給料いいし、言うことないよ。

typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...