パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

若者を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

        アンソニー・ホプキンスのレクター博士があまりにも怪演過ぎて、
        しばらくサイコパスな殺人鬼役しかオファーが来なくなり、
        「もうレクターはこりごりだよ」って言ってたの思い出した。

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

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

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

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

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

      親コメント
      • by Anonymous Coward

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

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

      • by Anonymous Coward

        俺の最初の職場で上司は、「1つの関数にすべての処理を書くのが理想。関数を分割するのは邪道」と宣ってた。
        逃げて正解だったとは思っているが、複雑な気分になることがあるのも確か。

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

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

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

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

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

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

      親コメント
      • by Anonymous Coward

        >・オブジェクト指向以前に構造化すらろくに出来てないスパゲッティが多い
        >・古いコードにはバージョン管理なんてされてない部分がある

        ちょっとした(繰り返す必要のない)流し作業のために俺が先週書いたコードそのものじゃないか

        #やっぱりやり直す必要があって今日読み直して「作者何考えてんだ」ってブチ切れそうになったとも言う

      • by Anonymous Coward

        おっさんな、情報処理試験向けにBASICより先にCOBOLを覚えたけど、今はJavaScript書いとるで。

      • by Anonymous Coward

        この通りかなー。職場的にCOBOLがある現場にいるけどかなりわかる。
        特にCOBOL経験すると希少種だから優先してアサインされちゃうだろうしね。負のスパイラル。

        • by Anonymous Coward

          リーマンショック直後の転職フェアでコボラ―時代の先輩社員に合ったことあるな。
          やっぱり就職に苦労しているようだった。

    • by Anonymous Coward on 2017年10月30日 19時57分 (#3304079)

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

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

      親コメント
      • by Anonymous Coward

        一定の必要性が有るなら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

            DBの構造は大事だ。でもCOBOLだと下手するとNDBとかだぜ? その意味でも応用は効きづらいよ。

      • by Anonymous Coward

        今のCOBOLはオブジェクト指向もサポートされてるみたいだけど、
        過去のソースはアレレレレみたいな感じかもね。

        • by Anonymous Coward

          >過去のソースはアレレレレみたいな感じかもね。

          コピペ百列拳の伝承者がゴロゴロ。

      • by Anonymous Coward

        典型的なCOBOLに無知な上司の言だね。

    • by Anonymous Coward

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

      • by Anonymous Coward

        ユダヤ教とイスラム教ってのは
        CとJavaの関係だろ。

        COBOLはバラモン教みたいな別系統の古代宗教だと思う。

    • by Anonymous Coward

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

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

      • by Anonymous Coward

        よくわからんけど、アセンブラでループを書くときはJNZって命令があってif(i != 0) goto loop; のような書き方になるので、そのせいかな

      • by Anonymous Coward

        repeat untilとかwhileって英語の意味を考えたら(英語圏の人間には)自明なんだけどね。

        COBOLのやたら冗長な文法って英語として自然に読み書きようにと言う思想が根底にあったような。構造化という考え方すらなかった時代に設計された言語だからな

    • by Anonymous Coward

      長年改修が続いたシステムが多いのでドキュメントの漏れやドキュメントと実装の差異に悩まされるのでは?
      そのへんをユーザとのやり取りや処理の流れ、コードの行間などを通じて把握するスキルが他の言語よりも重要なのでしょう。
      要するに初心者向けとは言い難い。でもものにすればどの言語でも役に立つスキルだと思う。

    • by Anonymous Coward

      コードクローン大量生産が正義だから他言語でトラブル撒き散らすんだよ。

      • by Anonymous Coward

        > コードクローン大量生産が正義だから他言語でトラブル撒き散らすんだよ。

        元祖プロトタイプベースオブジェクト指向プログラミングだよ!
        # インスタンスはファイルだよ!

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

処理中...