015 COBOL から C言語 2

03 : コンピュータとシステム

大型汎用機の主要言語はCOBOL/FORTRAN/PL/Iだ。
好き嫌いに関わらず当時はこれが常だった。

工学系の大学ではプログラミング言語としていまだに教えているらしい。
ソフトウェア業界に身を置く私としては正直疑問に感じる。
勿論、一般知識として教えているのだろうが、社会人に巣立ってから役に立つ言語とは思えない。

20代の頃、COBOL と PL/I をプログラミングとして100%使いこなしていたと自負する私が言っているのだから決して誇張ではない。



COBOLのおかげで、私はC言語習得が大変苦労した。(トホホですよ)
COBOLに慣れれば慣れるほど、常識と思っていたことが非常識に変わる。
ベテランになればなるほど離れることが出来ない魔法の言語なのだ。

C言語に慣れるためには、COBOLの常識を捨てないと習得出来ない。
即ち最初からCOBOLを知らない方が理解は早いのだ。
決して否定している訳ではないが、世界観が異なるのだ。

=== C言語の特性 ===
・数値は2進法で考える
そもそも汎用機のファイル上で10進数として違和感無く使っていたが、これは文字データであり数字ではない、2進法に変換してからでないと使えない。初めてのとき必ず面食らう。

両言語を知らない人は、何を言っているのかさっぱり意味が分からないだろう。
COBOLで2進や16進を直接目に触れるのはデバック時のダンプリストくらいかな。


・事務処理に便利な編集機能なんか殆どない
例えば金額計算で数字を足して掛けて割った値を、通貨記号を加えて表記する。
COBOLだと難なく出来ることが、C言語に移行すると途端に途方に暮れる。
C言語はCOBOLが備えている事務用の表示編集命令が殆ど考慮されていないのだ。COBOL技術者はそれを知らない。あって当然と思っている。


・配列や文字の先頭は0から数える
C言語でもJAVAでも関係なくプログラマは何も疑わない常識なことだが、何とCOBOLやFORTRANは1から始まる。何故0の配列が存在するのか?COBOLの常識がここでも覆されて理解不可能になる。

まだまだ沢山続く


« »