Further Reading — Chapter 6: Advanced Conditional Logic
Books
-
Stern, N., Stern, R., & Ley, J. (2006). COBOL for the 21st Century (11th ed.). Wiley. Chapters 7-8 provide thorough coverage of conditional logic and EVALUATE. The worked examples are particularly well-chosen for business applications.
-
Murach, M. (2020). Murach's Mainframe COBOL. Murach. Chapter 8 covers conditional logic with an emphasis on practical patterns used in production mainframe environments. The treatment of 88-level condition names is especially strong.
-
Cutler, G. (2014). GnuCOBOL Programmer's Guide. Free online reference with comprehensive coverage of all condition types. Useful for students working with GnuCOBOL in the Student Mainframe Lab. Available at: https://gnucobol.sourceforge.io/
IBM Documentation
-
IBM Enterprise COBOL for z/OS Language Reference (SC27-1408). The definitive reference for condition evaluation rules, operator precedence, and the exact semantics of EVALUATE. Section 6.6 (Conditional expressions) is essential reading.
-
IBM Enterprise COBOL for z/OS Programming Guide (SC27-1412). Chapter on program design includes IBM's recommendations for structured conditional logic and performance considerations for condition evaluation.
Articles and Papers
-
McCabe, T. (1976). "A Complexity Measure." IEEE Transactions on Software Engineering, SE-2(4), 308-320. The original paper defining cyclomatic complexity — the metric most directly affected by conditional logic design. Understanding McCabe's measure helps you quantify why deeply nested IFs are problematic.
-
Dijkstra, E. W. (1968). "Go To Statement Considered Harmful." Communications of the ACM, 11(3), 147-148. The foundational paper on structured programming. While Dijkstra's position on GO TO was more nuanced than the title suggests, this paper explains why the guard clause debate exists.
Online Resources
-
IBM Z Xplore (https://www.ibm.com/it-infrastructure/z/education/zxplore) Free hands-on access to a z/OS mainframe environment. Use the COBOL challenges to practice EVALUATE and 88-level patterns in a real mainframe context.
-
COBOL Standard (ISO/IEC 1989:2023). The latest COBOL standard defines all condition types, EVALUATE semantics, and 88-level rules. While dense, it is the authoritative source for language behavior.
Related Chapters in This Textbook
- Chapter 7: Iteration Patterns — Conditional logic frequently controls loop behavior through PERFORM UNTIL and TEST BEFORE/AFTER.
- Chapter 8: Paragraph and Section Design — The structural strategies for reducing nesting (paragraph extraction, guard clauses) are explored as design principles.
- Chapter 29: Compliance Reporting — The regulatory conditional logic patterns from the GlobalBank case study are extended to full compliance reporting systems.
- Chapter 35: Testing Financial Applications — Techniques for testing complex conditional logic, including decision table-based test case generation.