AWS LambdaがCOBOLをサポートしたことが話題に 62
ストーリー by hylom
コードをそのまま使いたいという需要は分かる 部門より
コードをそのまま使いたいという需要は分かる 部門より
あるAnonymous Coward曰く、
Amazon.comの「Amazon Web Services(AWS)」ではさまざまなクラウドサービスが提供されているが、その1つである「AWS Lambda」にてCOBOLが利用できるようになったことが話題になっている(AWS News Blog、Publickey、DevelopersIO、Togetterまとめ)。
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にそのまま移行できるわけではない。
死んだと思った?残念! (スコア:3, すばらしい洞察)
FortranもサポートされていないのにCOBOLがサポートされるとは夢にも思わなかったぜ……!
Re: (スコア:0)
BASIC「あふん……」
Re: (スコア:0)
BASICで書かれた重要なアプリケーションってStartrekゲームくらいしかないからな。
Re: (スコア:0)
大戦略は消え去ってのか、、、
COBOL「言語」だけサポートしても意味あるの? (スコア:0)
COBOL案件に関わったことがないので的外れかもしれないですが、
COBOLって言語単体というより、ハード、OSなど環境すべてをひっくるめて威力を発揮するようなイメージがあります。
LambdaでCOBOL「言語」が使えるだけでも、嬉しさとかあるのでしょうか?
Re:COBOL「言語」だけサポートしても意味あるの? (スコア:1)
COBOLってぶっちゃけ四則演算しか機能が無い言語だからなあ。
あとはPICTUREでのレコード定義を駆使してデータ編集するくらい。
なので、ファイルシステムがデータベース機能持ってる必要があったりするし、その辺りは非標準の機能だったりします。
REDEFINES をポインタみたいに使える拡張されたCOBOL もあったな。
Re:COBOL「言語」だけサポートしても意味あるの? (スコア:1)
基本はカードやMTからデータ読み取ってカネの計算やってプリンタ出力/MT出力するみたいなのが仕事です 難しいことは何もありません
ただし今残ってるシステムに使われている処理系は様々に拡張された機能があって、本来COBOLに向いてないようなこともしてるようなのでレガシーシステムのメンテは大変なのかも
#何かと話題になるCOBOLですが、COBOLさえ習得できないお馬鹿さんが多いのは不思議です
Re: (スコア:0)
メンテが大変なんだよ
Re: (スコア:0)
いや。COBOLはな。。。
わざわざ習得するメリットが無いんだよ。
言語自体が面白く無いし。
保守業務ばっかりでつまらんし、稼ぎが良いわけでも無いし。
同じ時間をかけるなら、他の言語を勉強する方が儲かるし、面白いからな。
Re:COBOL「言語」だけサポートしても意味あるの? (スコア:1)
英語圏では日本よりCOBOLの人気はかなり高いね
英語ができない日本人にはありがたみがないからね
あとCOBOLは速いよ
Re: (スコア:0)
COBOLしかわからない老害世代がいまだにコードレビューしてる会社もあるから。
そういう会社で頑張ってAmazon Lambdaを使えるように、という
余計な延命措置優しさなのかも?Re: (スコア:0)
非理系の事務員や官吏でもプログラミングできる言語
=理系には非論理的かつ冗長過ぎて読むのが苦行な言語
なので温度差が物凄く極端
COBOLは消して滅びぬ (スコア:0)
この世に勘定系システムがある限り
Re:COBOLは消して滅びぬ (スコア:1)
金勘定の点ではどれだけインフレになろうとも(桁指定を膨らます必要はあるとしても)ロジックとして困らないって点は、無視的でない利点に思う
精度というより端数の点でも、金勘定向きだと思うょ
#たぶんCOBOLの、この特異な性質が好まれもし、強く嫌悪されもするんだと思う
Re: (スコア:0)
この場合、「ぬ」は否定ではなくて
終止形、完了の助動詞ですな
Re:COBOLは消して滅びぬ (スコア:1)
すると活用が、とおもったけど
滅ばない
滅びます
滅ぶとき
滅べば
滅べ
滅びない
滅びます
滅びるとき
滅びれば
滅びろ
があるのか
だれか詳しい人が違いを教えてくれるといいな~
Re: (スコア:0)
「〇〇あ、げ、ぬ!」はどっちの「ぬ」ですか!?
Re: (スコア:0)
「滅びる 活用」でいくらでも出てきますがな
Re: (スコア:0)
「違い」の意味がよくわからんな。
Re: (スコア:0)
「風と共に去りぬ」の「ぬ」か。
Re: (スコア:0)
たけき者も遂には滅びぬ(平家物語)ですな。
何せ「消して」しまってますから。
Re: (スコア:0)
「消して」るし、そうでしょうね
Re:COBOLは消して滅びぬ(オフトピック:-1) (スコア:0)
「ラピュタは滅びぬ。何度でも甦るさ!」の名台詞に納得。
あれは、「ラピュタは滅びる。(だけど)何度でも甦るよ」だったのですね。。
Re: (スコア:0)
しまった、正確には「ラピュタは滅びた。(だけど)何度でも甦る」ですね。。
# 学生時代古文の授業が苦痛でしたorz
Re: (スコア:0)
前九年の役(11世紀)で源頼義に滅ぼされた筈の安倍氏の末裔が、今この国の総理大臣ですからね。
そう簡単にはCOBOLを撲滅できないでしょう。
誰得? (スコア:0)
えーっと、未だにCOBOLを使ってるような企業は、既存コードやシステムにもう全く手を入れたくないんだよね?
でも、AWS Lambdaで動かすためには、多少はプラットフォームに合わせなきゃいけないんだよね?
どうするの???
コードに手を入れるぐらいなら、この機会に言語も変えた方がいいと思うんだけど…どんなユーザーを想定しているのだろう?
(ビジネスロジック部分だけ使い回すみたいな想定?)
Re:誰得? (スコア:2)
あちこちパッチが当たっているが、それがどういう意味か分からない。
怖くて言語を代えるなどとても出来ない。
といった状況なのでは
Re:誰得? (スコア:3, 参考になる)
私が知っていたプロジェクトでは、こんな有様でした。
結局どうしようもなくなってゼロから再実装になりましたが、事前の想定通り未知の仕様だらけで「どこまでやっても開発が終わらない」状況で、とっくの昔に保守の終了した旧機器が完全に壊れたことで業務続行も不可能となり、会社は更地になりました。今はマンションが建っています。
「今のリスクを取らないことが将来のリスクを増す」という当たり前の現実を学ぶことができた良い機会でした。
Re: (スコア:0)
運用側視点(何があっても止めない変えない)でしか考えない事で、技術的負債が膨れ上がって破産ですか。
まあそういうのは日本はなりやすいでしょうねぇ…
「問題あっても直さない」んですから。
システムに限らず。
Re: (スコア:0)
これがあることでCOBOL資産を生かした移行が可能になりますよ
Re: (スコア:0)
「流用だから安くできるだろ!」とSIerを怒鳴りつけて、自己肯定感の低い下請けコーダーを奴隷的に搾取労働させればいい。
そんなSIerが見つからなかったら?見つかるまでSIerの営業を怒鳴りつければいい。
代わりはいくらでもいる。
という企業にニーズがあるのでしょう。
Re: (スコア:0)
COBOLは誰でも安心してドヤ顏で叩けるからな
ここの住人にはネタとして得があったようだし
Re: (スコア:0)
同じ感想だった。新規で書くのはありえないから既存コードの活用なんだろうけど、文法の差異やI/O周りの対応を考えると、
これが合理的なソリューションになるようなシナリオはちょっと思いつかない。
Re: (スコア:0)
AWSで需要があると判断するほどだという事ですよね。 逆に考えればCOBOL開発の能力が有ればWeb系のプログラマより高給が取れるかもね!
Perlも対応してほしい (スコア:0)
まぁ、PHPで代替できるか・・・
Re: (スコア:0)
出来るわけねーだろ。
これだからPHPerは・・・
Re: (スコア:0)
逆に、何により、代替できると判断できたか知りたいです。
Re: (スコア:0)
phpでエミュレータを実装してperlを動かしましょうか
COBOLでLambda (スコア:0)
予約語の多いCOBOLでは無名関数が使えれば便利では?とか意味不明なことを考えた。
Re: (スコア:0)
タイトルを見て、COBOLが関数型プログラミングに対応したのかと思ったら違った。
Re: (スコア:0)
ちっとも使われていないOOコボルで無い、レガシーになりまくっている
普通のコボルなら、関数型プログラミングの嚆矢なのでは?
Re: (スコア:0)
ちっとも使われていないOOコボルで無い、レガシーになりまくっている
普通のコボルが温泉旅館になってしまうのは、関数型に欠如している、
その様になるのを防ぐ為の機能が、関数型であるがゆえに欠落している
からでう。
COBOLの筋の良さ (スコア:0)
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]
Re:COBOLの筋の良さ (スコア:1)
昔日本語訳版読んだよなー思ったらまだちゃんとありました。ご紹介
コンピュータジョーク
http://hp.vector.co.jp/authors/VA000092/jokes/ [vector.co.jp]
Re: (スコア:0)
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);
Re: (スコア:0)
> TarZの馬鹿が皮肉のつもりでCOBOLだけ引用しているが、
日本語に訳せないジョークだと言っているだけじゃないか。COBOLの話題なんだからそこだけ引用するのも当然。(有名なネタだし)
> シンプルで過不足なく読みやすく銃に詳しくない人にも非常に具体的なイメージが湧くよい例だよ
本気で言っている? それとも、このコメント自体が皮肉??
元言語を皮肉っているジョークを使って筋が良いとか言うのはなかなかすごいですね。
同じ文体で書けば他言語でも大差なく書けるよ(ジョークとしての意味がなくなるかもしれないが)。
Re: (スコア:0)
> 本気で言っている? それとも、このコメント自体が皮肉??
本気で言っていますよ
このプログラムもどき、読みにくいですか?具体的なイメージが湧きませんか?
> 元言語を皮肉っているジョークを使って筋が良いとか言うのはなかなかすごいですね。
TarZ氏はCOBOLを皮肉るつもりで引用したようだが(あなたもそう考えていますね)、COBOLのいいところを抽出してしまってぜんぜん皮肉になってないということですよ
だから馬鹿だと言っています
> 同じ文体で書けば他言語でも大差なく書けるよ(ジョークとしての意味がなくなるかもしれないが)。
じゃあ書いてみなさいよ
C版は俺が書いたから参考にしてくれてもいい
Re: (スコア:0)
Apple ScriptやSQLみたいだな。
意外と現役 (スコア:0)
金融系なんかだと結構現役で、モダンに見えるwebページorサービスでも後ろの業務ロジックはcobolってのは結構あるのは知ってる。
数十年のロジックを現用言語でつくりなおすよりフロントだけ現代化して
業務ロジックは現行の改修ってのはやり方の一つとしてはありだと思う。
へたに全部作り直してもみずほの二の舞の可能性の方が。
あと聞いた話だけどcobolは
https://togetter.com/li/1289806 [togetter.com]
この手の計算誤差がでないのが金融で元々多用されたとか。
Re: (スコア:0)
ほとんどの言語にはその手の誤差が出ないデータ型か演算ライブラリがあります