When IBM introduced the latest version of COBOL for AIX many of my fellow co-workers didn't understand the significance of the event. Even though all my co-workers are compiler writers, most of them are involved with writing C and C++ compilers. (It just so happens that part of the new COBOL team was moved to a floor with mostly C and C++ compiler writers ... the horror).
So to help elleviate their ignorance my manager felt it was his duty to produce posters with some fun facts. According to Gartner Group:
- 75% of all business data is processed by COBOL
- There are between 180 billion to 200 billion lines of COBOL code in use worldwide
- 15% of all new applications (5 billion lines) through 2005 will be in COBOL
COBOL has been around now for 50 years, and in that time the world and COBOL has changed significantly. On my desk sits a copy of the ANSI X3.23-1974 (American National Standard programming language COBOL). The 1974 COBOL Standard is approximately 540 pages long and is broken into sections based on the 12 COBOL Modules. Each COBOL Module had at most 2 levels. The 12 COBOL Modules included: Nucleus, Table Handling, Sequential I-O, Relative I-O, Indexed I-O, Sort-Merge, Report Writer, Segmentation, Library, Debug, Inter-Program Communication, and Communication.
To be compliant to the 1974 COBOL Standard you only had to support the lowest level of Nucleus, Table Handling and Sequential I-O. The 1974 COBOL Standard had no structured programming or OO programming constructs.
Now fast forward to the year 2009. The 20xx COBOL Standard is under development. It has significant enhancements over the 2002 COBOL Standard. In its current form the 20xx Standard has 885 pages. Gone is the the definition of COBOL Modules and levels. In general an implementation of COBOL should include everything in the standard to be conforming.
If we were to re-introduce the concept of Modules to COBOL the list would include: Compiler Directives, Intrinsic Functions, Object Orientation, (Strong) Types, Pointers, Enhanced Math, Internationalization and Localization, Exception Handling, and Dynamic Memory.
In the COBOL Language Standard part of the COBOL Café we will Introduce parts of the 2002 and 20xx COBOL Standard's and give you the ability to help define COBOL's future.