当初のCOBOL言語でのソフトウェア開発は、デバッグ作業が余りにも困難を極めたと言っても過言では無いでしょう。その原因はグローバル変数やローカル変数等の考え方が、COBOL言語自体に装備されていない事がその一因と言っても良いかも知れません。また、C言語等と比較するとコーディングに当たり、冗長な記述を強いられる所にもあるでしょう。一例を挙げれば当時のCOBOLでは、プログラムの開始を意味する宣言文として、IDENTIFICATIONDIVISION.という記述を一文字でも間違えずに記述する必要がありました。
また、この頃にはCUIで作業をする事が一般的でしたから、マウスでコピーペーストするという事も出来ませんでしたから、バグが発生しやすいのは当然の事かも知れません。しかし当時のCOBOL言語で最もデバッギングを困難にしたのは、goto命令をプログラムの何処からでも際限無く飛ばす事が出来たからです。時を経て現在でもCOBOL言語はありますが改良され構造化されたり、ソフトウェア設計においてオブジェクト指向に対応したりと進化して来ました。しかしソフトウェア開発においてバグが発生するのは、人間が完璧で無い限りは出来るだけバグを出さない様に工夫を凝らすしかないのです。
その工夫の一つに、ソースコードのバージョンを管理するソフトウェアが幾つも開発されて来ている事が挙げられるでしょう。複数人のソフトウェア開発であっても、分散型のバージョン管理システムを利用すれば、途中でソースコードの改変があっても追跡しやすくなり、結果としてバグを効率的に駆除しやすくなります。
Leave a Reply