パスワードを忘れた? アカウント作成
13780668 story
クラウド

AWS LambdaがCOBOLをサポートしたことが話題に 62

ストーリー by hylom
コードをそのまま使いたいという需要は分かる 部門より
あるAnonymous Coward曰く、

Amazon.comの「Amazon Web Services(AWS)」ではさまざまなクラウドサービスが提供されているが、その1つである「AWS Lambda」にてCOBOLが利用できるようになったことが話題になっている(AWS News BlogPublickeyDevelopersIOTogetterまとめ)。

AWS Lambdaは小規模なプログラムをAWSのインフラ上で実行できるサービスで、リクエストやイベントをトリガとして処理を実行する。今までAWS Lambdaで実行できるコードはNode.js、Java、Go、C#、Pythonの5言語に限られていたが、今回はここにRubyが追加されるとともに、「Custom Runtime」としてサードパーティによる言語の追加が可能となり、新たにC++、Rust、Erlang、Elixir、COBOL、PHPのサポートが追加された。COBOLのサポートはBlu Ageが提供する

ネット上で特に話題となっているのがCOBOLの追加で、COBOL対応が発表されるとTwitterでは困惑の声とともにCOBOLがトレンド入りしたほか、会場内でも笑い声が上がったそうである。まさかのCOBOLシステムのAWS Lambda移行がやってくるのだろうか?

なお、AWS Lambdaでは実行できる処理内容に制約があるため、任意のプログラムをAWS Lambdaにそのまま移行できるわけではない。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by TGBT (30714) on 2018年11月30日 21時54分 (#3524674)

    FortranもサポートされていないのにCOBOLがサポートされるとは夢にも思わなかったぜ……!

    • by Anonymous Coward

      BASIC「あふん……」

      • by Anonymous Coward

        BASICで書かれた重要なアプリケーションってStartrekゲームくらいしかないからな。

        • by Anonymous Coward

          大戦略は消え去ってのか、、、

  • by Anonymous Coward on 2018年11月30日 19時04分 (#3524610)

    COBOL案件に関わったことがないので的外れかもしれないですが、
    COBOLって言語単体というより、ハード、OSなど環境すべてをひっくるめて威力を発揮するようなイメージがあります。
    LambdaでCOBOL「言語」が使えるだけでも、嬉しさとかあるのでしょうか?

    • by Anonymous Coward on 2018年11月30日 21時16分 (#3524661)

      COBOLってぶっちゃけ四則演算しか機能が無い言語だからなあ。
      あとはPICTUREでのレコード定義を駆使してデータ編集するくらい。
      なので、ファイルシステムがデータベース機能持ってる必要があったりするし、その辺りは非標準の機能だったりします。
      REDEFINES をポインタみたいに使える拡張されたCOBOL もあったな。

      親コメント
    • by Anonymous Coward on 2018年12月01日 1時05分 (#3524730)

      基本はカードやMTからデータ読み取ってカネの計算やってプリンタ出力/MT出力するみたいなのが仕事です 難しいことは何もありません
      ただし今残ってるシステムに使われている処理系は様々に拡張された機能があって、本来COBOLに向いてないようなこともしてるようなのでレガシーシステムのメンテは大変なのかも
      #何かと話題になるCOBOLですが、COBOLさえ習得できないお馬鹿さんが多いのは不思議です

      親コメント
      • by Anonymous Coward

        メンテが大変なんだよ

      • by Anonymous Coward

        いや。COBOLはな。。。
        わざわざ習得するメリットが無いんだよ。
        言語自体が面白く無いし。
        保守業務ばっかりでつまらんし、稼ぎが良いわけでも無いし。
        同じ時間をかけるなら、他の言語を勉強する方が儲かるし、面白いからな。

    • by Anonymous Coward on 2018年12月01日 14時17分 (#3524955)

      英語圏では日本よりCOBOLの人気はかなり高いね
      英語ができない日本人にはありがたみがないからね
      あとCOBOLは速いよ

      親コメント
    • by Anonymous Coward

      COBOLしかわからない老害世代がいまだにコードレビューしてる会社もあるから。
      そういう会社で頑張ってAmazon Lambdaを使えるように、という余計な延命措置優しさなのかも?

    • by Anonymous Coward

      非理系の事務員や官吏でもプログラミングできる言語
      =理系には非論理的かつ冗長過ぎて読むのが苦行な言語

      なので温度差が物凄く極端

  • by Anonymous Coward on 2018年11月30日 19時10分 (#3524613)

    この世に勘定系システムがある限り

    • by Anonymous Coward on 2018年12月02日 18時22分 (#3525484)

      金勘定の点ではどれだけインフレになろうとも(桁指定を膨らます必要はあるとしても)ロジックとして困らないって点は、無視的でない利点に思う
      精度というより端数の点でも、金勘定向きだと思うょ

      #たぶんCOBOLの、この特異な性質が好まれもし、強く嫌悪されもするんだと思う

      親コメント
    • by Anonymous Coward

      この場合、「ぬ」は否定ではなくて
      終止形、完了の助動詞ですな

      • by Anonymous Coward on 2018年11月30日 19時47分 (#3524626)

        すると活用が、とおもったけど

        滅ばない
        滅びます
        滅ぶとき
        滅べば
        滅べ

        滅びない
        滅びます
        滅びるとき
        滅びれば
        滅びろ

        があるのか
        だれか詳しい人が違いを教えてくれるといいな~

        親コメント
        • by Anonymous Coward

          「〇〇あ、げ、ぬ!」はどっちの「ぬ」ですか!?

        • by Anonymous Coward

          「滅びる 活用」でいくらでも出てきますがな

        • by Anonymous Coward

          「違い」の意味がよくわからんな。

      • by Anonymous Coward

        「風と共に去りぬ」の「ぬ」か。

      • by Anonymous Coward

        たけき者も遂には滅びぬ(平家物語)ですな。

        何せ「消して」しまってますから。

      • by Anonymous Coward

        「消して」るし、そうでしょうね

      • 「ラピュタは滅びぬ。何度でも甦るさ!」の名台詞に納得。

        あれは、「ラピュタは滅びる。(だけど)何度でも甦るよ」だったのですね。。

        • by Anonymous Coward

          しまった、正確には「ラピュタは滅び。(だけど)何度でも甦る」ですね。。

          # 学生時代古文の授業が苦痛でしたorz

        • by Anonymous Coward

          前九年の役(11世紀)で源頼義に滅ぼされた筈の安倍氏の末裔が、今この国の総理大臣ですからね。
          そう簡単にはCOBOLを撲滅できないでしょう。

  • by Anonymous Coward on 2018年11月30日 19時14分 (#3524615)

    えーっと、未だにCOBOLを使ってるような企業は、既存コードやシステムにもう全く手を入れたくないんだよね?
    でも、AWS Lambdaで動かすためには、多少はプラットフォームに合わせなきゃいけないんだよね?
    どうするの???

    コードに手を入れるぐらいなら、この機会に言語も変えた方がいいと思うんだけど…どんなユーザーを想定しているのだろう?

    (ビジネスロジック部分だけ使い回すみたいな想定?)

    • by NOBAX (21937) on 2018年11月30日 19時47分 (#3524627)
      ソースはあっても、書かれている内容を理解できる社員はもう退職してしまった。
      あちこちパッチが当たっているが、それがどういう意味か分からない。
      怖くて言語を代えるなどとても出来ない。

      といった状況なのでは
      親コメント
      • Re:誰得? (スコア:3, 参考になる)

        by Anonymous Coward on 2018年12月01日 9時28分 (#3524829)

        私が知っていたプロジェクトでは、こんな有様でした。

        • 長年の修正に次ぐ修正で、スパゲティどころかただの謎の塊になっている。
        • 仕様書なるものが存在していない。いや、いちおう存在するにはしているが、既に何十年も放置されていて最新の仕様になっていないし、古い仕様説明も役に立つことを何も書いていない。
        • 実装のバグに依存して正常動作させていると思われる箇所が見つかっているが、それに関する資料も情報もないので、何が正しいのかもわからないし、見つけられた箇所以外にどれだけあるのかもわからない。
        • 全ての仕様を理解していた方は、とっくの昔にこの世にいない。その方の部下で、一部のロジックを理解していたはずの方も、認知症を患っていてほとんど会話ができない。
        • そのような状態にもかかわらず、業務を止めることが許されない。

        結局どうしようもなくなってゼロから再実装になりましたが、事前の想定通り未知の仕様だらけで「どこまでやっても開発が終わらない」状況で、とっくの昔に保守の終了した旧機器が完全に壊れたことで業務続行も不可能となり、会社は更地になりました。今はマンションが建っています。

        「今のリスクを取らないことが将来のリスクを増す」という当たり前の現実を学ぶことができた良い機会でした。

        親コメント
        • by Anonymous Coward

          運用側視点(何があっても止めない変えない)でしか考えない事で、技術的負債が膨れ上がって破産ですか。
          まあそういうのは日本はなりやすいでしょうねぇ…
          「問題あっても直さない」んですから。
          システムに限らず。

    • by Anonymous Coward

      これがあることでCOBOL資産を生かした移行が可能になりますよ

    • by Anonymous Coward

      「流用だから安くできるだろ!」とSIerを怒鳴りつけて、自己肯定感の低い下請けコーダーを奴隷的に搾取労働させればいい。
      そんなSIerが見つからなかったら?見つかるまでSIerの営業を怒鳴りつければいい。

      代わりはいくらでもいる。

      という企業にニーズがあるのでしょう。

    • by Anonymous Coward

      COBOLは誰でも安心してドヤ顏で叩けるからな
      ここの住人にはネタとして得があったようだし

    • by Anonymous Coward

      同じ感想だった。新規で書くのはありえないから既存コードの活用なんだろうけど、文法の差異やI/O周りの対応を考えると、
      これが合理的なソリューションになるようなシナリオはちょっと思いつかない。

    • by Anonymous Coward

      AWSで需要があると判断するほどだという事ですよね。 逆に考えればCOBOL開発の能力が有ればWeb系のプログラマより高給が取れるかもね!

  • by Anonymous Coward on 2018年11月30日 20時46分 (#3524653)

    まぁ、PHPで代替できるか・・・

    • by Anonymous Coward

      出来るわけねーだろ。
      これだからPHPerは・・・

      • by Anonymous Coward

        逆に、何により、代替できると判断できたか知りたいです。

        • by Anonymous Coward

          phpでエミュレータを実装してperlを動かしましょうか

  • by Anonymous Coward on 2018年11月30日 21時51分 (#3524673)

    予約語の多いCOBOLでは無名関数が使えれば便利では?とか意味不明なことを考えた。

    • by Anonymous Coward

      タイトルを見て、COBOLが関数型プログラミングに対応したのかと思ったら違った。

      • by Anonymous Coward

        ちっとも使われていないOOコボルで無い、レガシーになりまくっている
        普通のコボルなら、関数型プログラミングの嚆矢なのでは?

        • by Anonymous Coward

          ちっとも使われていないOOコボルで無い、レガシーになりまくっている
          普通のコボルが温泉旅館になってしまうのは、関数型に欠如している、
          その様になるのを防ぐ為の機能が、関数型であるがゆえに欠落している
          からでう。

  • by Anonymous Coward on 2018年12月01日 2時54分 (#3524749)

    TarZの馬鹿が皮肉のつもりでCOBOLだけ引用しているが、
    https://srad.jp/comment/1417934 [srad.jp]
    > How to shoot yourself in the foot in COBOL

    Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place
    ARM.HAND.FINGER. on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN
    to HOLSTER. CHECK whether shoelace needs to be retied.

    シンプルで過不足なく読みやすく銃に詳しくない人にも非常に具体的なイメージが湧くよい例だよ

    他の言語はこんな感じ
    https://www-users.cs.york.ac.uk/susan/joke/foot.htm [york.ac.uk]
    http://www.toodarkpark.org/computers/humor/shoot-self-in-foot.html [toodarkpark.org]

    • by esuta (40045) on 2018年12月01日 8時08分 (#3524792)

      昔日本語訳版読んだよなー思ったらまだちゃんとありました。ご紹介

      コンピュータジョーク
      http://hp.vector.co.jp/authors/VA000092/jokes/ [vector.co.jp]

      親コメント
    • by Anonymous Coward

      Cだとこんな感じ?
      handgun = get_handgun(COLT_45_HANDGUN);
      aim_handgun(handgun, leg->foot);
      place_and_squeeze_finger(arm->hand->finger, handgun->trigger);
      return_handgun(handgun, holster);
      check(shoelace, NEED_RETIED);

    • by Anonymous Coward

      > TarZの馬鹿が皮肉のつもりでCOBOLだけ引用しているが、
      日本語に訳せないジョークだと言っているだけじゃないか。COBOLの話題なんだからそこだけ引用するのも当然。(有名なネタだし)

      > シンプルで過不足なく読みやすく銃に詳しくない人にも非常に具体的なイメージが湧くよい例だよ
      本気で言っている? それとも、このコメント自体が皮肉??
      元言語を皮肉っているジョークを使って筋が良いとか言うのはなかなかすごいですね。
      同じ文体で書けば他言語でも大差なく書けるよ(ジョークとしての意味がなくなるかもしれないが)。

      • by Anonymous Coward

        > 本気で言っている? それとも、このコメント自体が皮肉??

        本気で言っていますよ
        このプログラムもどき、読みにくいですか?具体的なイメージが湧きませんか?

        > 元言語を皮肉っているジョークを使って筋が良いとか言うのはなかなかすごいですね。

        TarZ氏はCOBOLを皮肉るつもりで引用したようだが(あなたもそう考えていますね)、COBOLのいいところを抽出してしまってぜんぜん皮肉になってないということですよ
        だから馬鹿だと言っています

        > 同じ文体で書けば他言語でも大差なく書けるよ(ジョークとしての意味がなくなるかもしれないが)。

        じゃあ書いてみなさいよ
        C版は俺が書いたから参考にしてくれてもいい

    • by Anonymous Coward

      Apple ScriptやSQLみたいだな。

  • by Anonymous Coward on 2018年12月01日 8時08分 (#3524793)

    金融系なんかだと結構現役で、モダンに見えるwebページorサービスでも後ろの業務ロジックはcobolってのは結構あるのは知ってる。

    数十年のロジックを現用言語でつくりなおすよりフロントだけ現代化して
    業務ロジックは現行の改修ってのはやり方の一つとしてはありだと思う。
    へたに全部作り直してもみずほの二の舞の可能性の方が。

    あと聞いた話だけどcobolは
    https://togetter.com/li/1289806 [togetter.com]
    この手の計算誤差がでないのが金融で元々多用されたとか。

    • by Anonymous Coward

      ほとんどの言語にはその手の誤差が出ないデータ型か演算ライブラリがあります

typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...