この記事は セゾンテクノロジー Advent Calendar 2024 11日目の記事です。
シリーズ2は HULFT10 のエンジニアによる投稿をお届けします。
はじめまして。
セゾンテクノロジーの清水です。
IBMのz/OSなどで開発を行っています。
今回は、開発であった体験(勘違い)からの学びを記事にしようと思います。
まず自分について前提をお話します。
- 古いCOBOLソースを開発維持している(30年くらい前のソース)
- 前任よりコンパイラも古いものを引継がれ利用
- COBOLは、COBOL85とか古いものであるはず
Enterprise COBOLについて、自分はほとんど知らない状態でした(とても浅い知識)。
- z/OSのCOBOLは「Enterprise COBOL」っていうんだな
- かっこいい名前だ、機能もすごそう
- 前任から引き継いだCOBOLコンパイラで動いているし、意識をしたことはあまりない
ある日突然
「新z/OSあるから、新API呼んでEnterprise COBOL ソース書いてください」
自分(?)
自分「あのう・・・古いCOBOLならわかるんですけど、Enterpriseがよくわからないんですが…」
相談役「COBOL開発、できますよね?」
自分 「はい・・・ですが、Enterpriseですよ?
サンプルソース見ても知らないセクションとかあるし、まさかの小文字だし…」
相談役「EnterpriseもCOBOL85もCOBOLですよ?」
自分(あれ、そうだよな・・・自分はものすごく勘違いをしているのだろうか)
やってみた①
サンプルソース(小文字)を元に知っている命令でコーディングした(APIも呼んだ)
↓
驚くほどにすんなり完成
でも小文字が見づらくて、新しい技術を触っている感覚が抜けない(今後管理出来るのだろうか)
↓
試しに全部大文字にしてみた
↓
コンパイル通った!しかも動いた
しかも大文字になったので見やすい(MFソースは大文字が当たり前)
見やすさが倍増、これなら管理できそう!(体感)
やってみた②
試しに最も古い(だろう)COBOLソース(リスト出力)をEnterprise COBOLでコンパイルしてみた
↓
LOADはできた、でも動くのだろうか
↓
動いた!驚くほどにすんなりリスト出る
まとめ
Enterprise という名前に気おくれして、「大きく機能差のある違うもの」だと思い込んでいた
そもそも、z/OS製品には旧互換があるという大前提が頭から抜けてた
学び・教訓
自分の知っている技術なのに、名称変更があることで違うものと誤認していたことに、気が付いた
自社製品であり、他社製品であり、名前が与える影響の大きさを知った
また、名前変更をしたとしても実際はどうなのかを正しく理解しなければ
せっかくのチャンスを逃がしてしまう可能性があることを身をもって知った
正しくHPやマニュアルを読む必要がある
という体験を記事にさせていただきました。
最後まで読んでいただきありがとうございました。