Declarative
Enhanced Definition
In the context of mainframe computing, a **declarative** approach focuses on *specifying what* needs to be achieved rather than *how* to achieve it. It describes the desired outcome or state, leaving the underlying system (like the z/OS operating system, a database manager, or a compiler) to determine the optimal execution path. This paradigm emphasizes high-level expression and abstraction.
Key Characteristics
-
- Focus on Outcome: Describes the end result or desired state, allowing the system to manage the procedural steps and control flow.
- High Abstraction: Hides the complex, low-level implementation details from the programmer, simplifying code and logic.
- System Optimization: Enables the underlying system (e.g., DB2 optimizer, JCL interpreter) to make intelligent decisions about execution for efficiency and performance.
- Readability and Maintainability: Often results in code that is easier to read, understand, and maintain due to its focus on intent rather than intricate steps.
- Non-Procedural: Unlike imperative programming, it does not explicitly define the sequence of operations or the exact control flow.
Use Cases
-
- JCL (Job Control Language): JCL is inherently declarative, specifying what programs to run, what datasets to use, and how they should be allocated, without detailing the CPU instructions or I/O operations.
This declares the program, output, and input without specifying *how* to load the program or read the file.jcl //STEP01 EXEC PGM=MYPROG //SYSOUT DD SYSOUT=* //SYSIN DD DSN=MY.INPUT.FILE,DISP=SHR- SQL (Structured Query Language) in DB2/IMS DB: When querying a DB2 database, SQL statements like
SELECTdeclare *what data* is needed, leaving the DB2 optimizer to determine the most efficient access path (e.g., index usage, table scans, join order).
This declares the desired employee data, not the specific steps to retrieve it.sql SELECT EMP_ID, EMP_NAME FROM EMP_TABLE WHERE DEPT_ID = 'SALES';- COBOL DECLARATIVES: COBOL's
DECLARATIVESsection allows programmers to specify special procedures to be executed when certain conditions occur (e.g.,AT ENDfor file processing,ON EXCEPTIONfor I/O errors), without explicitly coding the check at every I/O operation.
`cobol DECLARATIVES.
Related Products
Related Vendors
ABA
3 products
ASE
3 products
Information Builders
3 products
IBM
646 products
Trax Softworks
3 products
Related Categories
Report Generation and Management
166 products
Programming Language
104 products
Operating System
154 products
Browse and Edit
64 products