時代に逆行してCOBOL(GnuCOBOL)を学んでみる(1) Windows11のWSL2でインストール、Visual Studio Codeの拡張機能を使い、10進31桁まで計算できることを生かして二次方程式で桁落ちが落ちる例題をそのまま計算。言語そのものはそんな批判されるほどのこともない気がした。
ゴールデンウイーク中、何か言語を新しく学んでみようと思った。今ならMojoとかRUSTとかGoとかになるのだろうが...
遊びでやるのでそういうのから背を向けて、一回もどんな言語かちゃんと調べたこともないがとにかく皆の目の敵にされているCOBOLを見てみようと思った。まさに時代に逆行。でもこの手のは無くならない気もする。
使うのはGnuCOBOL。
https://gnucobol.sourceforge.io/
Windowsネイティブでも使えるみたいですが、コンパイルするのがめんどくさい。ここはWindowsのWSL2(入れてるのはUbuntu)でやってみよう。aptで入れられるし、Visual Studio Codeも使えるし。
実際、
sudo apt install gnucobol
で簡単にインストールできた。WSL2からVisual Studio Codeを使うにはこちらなど。
https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-vscode
でいろいろ調べだしたのだが、とにかく情報が少ない!
Web上でも数件はもちろんあるが、JavascriptやPythonの情報量の多さと比べるともう無いに等しい。
それでもまあ雰囲気は5%くらい分かった。お金の計算に使うので10進で桁数が多いのが特徴の1つ、ということで
ここは例題として二次方程式で桁落ちが落ちる例(普通は計算式を工夫する)を工夫せずにそのまま計算してみよう。
ソースコードはこんな感じ(全く合ってる気はしないが動く…)二次方程式を計算するだけなのに長い…10進31桁のうち、21桁を小数点以下に使っている。冗長とかよく言われているそうですが、Visual Studio Codeの拡張機能でIntellisenseが効いて補完するのでほとんど自分ではうってない。
で例題としては以下の2つを使わせてもらいました。
https://sci.nao.ac.jp/MEMBER/hnomura/numexe1/manual/4/gosa.html
http://www.crl.nitech.ac.jp/~ida/education/MaterialsDesign/1453.html
結果はこちら。桁落ちなしで計算出来ている。
でとりあえず理解度5%の印象ですが、
この言語、とにかくちゃんと設定しないとだめなので、逆にちゃんと設定することを徹底して、それぞれのファイル間についてちゃんと使う側が規約を作っていればものすごく頑強なんじゃないだろうか。
結局、屋上屋重ねたように機能追加するなどして、ドキュメントもないなどでおかしくなっているように思う。C使おうがPython使おうTypeScript使おうが同じ話…
まあ最新の言語はそういう大規模な開発も最初からできるようになっているのだとは思いますが。
たぶん当時COBOLで作り始めた人は銀行のシステムがこんなに巨大になるとは想定してなかったんでしょうね。
« 親鸞聖人生誕850年特別展 親鸞─生涯と名宝@京都国立博物館を観てきた。これはよかった。直筆の教行信証やそれ以外の書も興味深く、承元の法難、善鸞義絶状、恵信尼消息のことも初めて知った。もちろん歎異抄もあってあの有名な部分も読んできた。 | トップページ | クスノキの番人(東野圭吾さん)を読んだ。家庭に恵まれず罪を犯して逮捕された玲斗が初めて会う伯母に助けられる。ただし願いが叶うというクスノキの番人になることを命じられ…家族の絆、痴呆症が描かれ、またミステリ要素もある(注意深く読んでいれば最後にわかるかも)よかった。 »
「パソコン・インターネット」カテゴリの記事
- 出遅れましたがFizzBuzzをExcelのMAP,LAMBDA,SEQUENCE,IFS関数を使って一行(というかただの1セル入力)で作る。(2023.09.24)
- iOS17の新機能、Object CaptureをアプリHyper Captureで試す。ゴッホのスヌーピーとフェルメールの牛乳を注ぐミッフィーを3D スキャンでぐるぐる回す。3回角度変えてキャプチャが必要だった。プロセスはiPhone 12 Pro Maxなんで時間掛かるけどかなり綺麗に。(2023.09.21)
- 離散リアプノフ方程式 AXAᴴ - X + Q = 0がクロネッカー積とvecで計算できることを思い出した!(Vec Trickというそう)。Pythonのscipy.linalg.solve_discrete_lyapunovとnumpy.kronの両方で計算してちゃんと合うことを確認。(2023.09.22)
- Google検索の生成AI,SGEが使えるようになっていた。じゃあということでRIS(Reconfigurable Intelligent Surface)について聞いてみた。ChatGPT, BingのAIチャット、Bardと比較。ZTEが先日発表していたので聞いたが、SGEはその話にも触れた。詳しいのはChatGPTだった。(2023.09.02)
- PythonのmatplotlibにXKCD(棒人間の理系コミック、ホワット・イフのランドール・マンローさん作)の手書き風グラフが描ける機能があった!せっかくなのでルンゲクッタ法のDormand Prince8次(DOP853)でローレンツ方程式を描く。(2023.09.01)
「学問・資格」カテゴリの記事
- 浜村渚の計算ノート 10さつめ ラ・ラ・ラ・ラマヌジャンを読んだ。九章算術、ベクトル、四元数、電卓、そしてラマヌジャン!タクシー数も1+2+3+…=-1/12もいろんな公式も出てきます。カプレカー数も。高精度計算サイトkeisan.casio.jpにUPしているものとも関連していてよかった。(2023.09.26)
- 出遅れましたがFizzBuzzをExcelのMAP,LAMBDA,SEQUENCE,IFS関数を使って一行(というかただの1セル入力)で作る。(2023.09.24)
- (速報続報)iPhone15 Proが早くも分解。USモデルなのでミリ波アンテナ3つが見えてる。USモデルとその他でMLBの形から違う!(USはeSIM、他はSIMカード)、なのでスペースがなくて他モデルはミリ波アンテナ部分に部品乗せてる!(2023.09.23)
- 離散リアプノフ方程式 AXAᴴ - X + Q = 0がクロネッカー積とvecで計算できることを思い出した!(Vec Trickというそう)。Pythonのscipy.linalg.solve_discrete_lyapunovとnumpy.kronの両方で計算してちゃんと合うことを確認。(2023.09.22)
- 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2023年9月19日 Microwave Magazineの特集はRFIDや氷を検出する話、Microwave Journalで車載アンテナ評価でRanLOSというのを初めて知る、Gapwavesの多層導波管、PythonのRFライブラリScikit-RFに高木分解を使うTUG multiline TRLが。(2023.09.19)
「日記・コラム・つぶやき」カテゴリの記事
- 浜村渚の計算ノート 10さつめ ラ・ラ・ラ・ラマヌジャンを読んだ。九章算術、ベクトル、四元数、電卓、そしてラマヌジャン!タクシー数も1+2+3+…=-1/12もいろんな公式も出てきます。カプレカー数も。高精度計算サイトkeisan.casio.jpにUPしているものとも関連していてよかった。(2023.09.26)
- 出遅れましたがFizzBuzzをExcelのMAP,LAMBDA,SEQUENCE,IFS関数を使って一行(というかただの1セル入力)で作る。(2023.09.24)
- (速報続報)iPhone15 Proが早くも分解。USモデルなのでミリ波アンテナ3つが見えてる。USモデルとその他でMLBの形から違う!(USはeSIM、他はSIMカード)、なのでスペースがなくて他モデルはミリ波アンテナ部分に部品乗せてる!(2023.09.23)
- iOS17の新機能、Object CaptureをアプリHyper Captureで試す。ゴッホのスヌーピーとフェルメールの牛乳を注ぐミッフィーを3D スキャンでぐるぐる回す。3回角度変えてキャプチャが必要だった。プロセスはiPhone 12 Pro Maxなんで時間掛かるけどかなり綺麗に。(2023.09.21)
- 離散リアプノフ方程式 AXAᴴ - X + Q = 0がクロネッカー積とvecで計算できることを思い出した!(Vec Trickというそう)。Pythonのscipy.linalg.solve_discrete_lyapunovとnumpy.kronの両方で計算してちゃんと合うことを確認。(2023.09.22)
« 親鸞聖人生誕850年特別展 親鸞─生涯と名宝@京都国立博物館を観てきた。これはよかった。直筆の教行信証やそれ以外の書も興味深く、承元の法難、善鸞義絶状、恵信尼消息のことも初めて知った。もちろん歎異抄もあってあの有名な部分も読んできた。 | トップページ | クスノキの番人(東野圭吾さん)を読んだ。家庭に恵まれず罪を犯して逮捕された玲斗が初めて会う伯母に助けられる。ただし願いが叶うというクスノキの番人になることを命じられ…家族の絆、痴呆症が描かれ、またミステリ要素もある(注意深く読んでいれば最後にわかるかも)よかった。 »
コメント