a very good book that should be on every COBOL shop's bookshelf.
My Background: I currently work as developer for an IBM mainframe CM system that is used to support multi-project COBOL and other language, compilations and I am familiar with COBOL syntax and the identification of programming errors.
I first came across one of Gary's books in the late 70's - entitled 'System 370 Job Control Language', liked the style, bought it and have found it to extremely useful ever since. In that time I have been a programmer using PL/1 and JCL on IBM mainframes, a lecturer (teaching operating systems like MVS and UNIX, languages, systems development methods and program design) and a programmer again. I asked to review this book because Gary was the author and I wanted to see how he would present COBOL.
C++ has been criticized for being complex, but it has relatively few reserved words - COBOL has about 600. This is, to me anyway, one of COBOL's most irritating features and I was pleased to see that Gary covers each reserved word in a very readable way. This was what I expected given his long-term connections with mainframes, COBOL and JCL. The book is in three parts:
- 'Basic COBOL' This gives an overview and then examines the most frequently used COBOL statements. It also includes descriptions of the types of storage available in COBOL programs. Other topics describe structured programming in COBOL, handling numeric and character data, record descriptions and printed output.
- 'Advanced COBOL' This carries on from 1) considering tables (arrays), device and file IO of various types, program organization, subprograms and functions, sorting and full-screen IO for PC and CICS. It also contains a very useful chapter of about 40 pages on the report writer.
- 'Beyond COBOL' The final section considers date handling (including Y2K), a good chapter on OO COBOL and other topics such as program style, distributed computing, APIs and cross-system development.