High Level Language - HLL programming
Enhanced Definition
High Level Languages (HLLs) in the mainframe context are programming languages that provide a strong abstraction from the underlying hardware architecture, allowing developers to write code using human-readable syntax closer to natural language. They are compiled into machine code for execution on z/OS, significantly enhancing programmer productivity and application maintainability compared to low-level languages like Assembler.
Key Characteristics
-
- Abstraction from Hardware: HLLs abstract away the intricate details of the z/Architecture instruction set, memory management, and register usage, allowing programmers to focus on business logic rather than machine specifics.
- Readability and Maintainability: Their syntax is designed to be more intuitive and self-documenting, making code easier to understand, debug, and maintain over long periods, which is crucial for large enterprise applications.
- Relative Portability: While often compiled for a specific platform (z/OS), the source code itself can be more easily adapted or recompiled for different environments compared to platform-specific Assembler code.
- Requires a Compiler: HLL source code must be translated into executable machine code by a specific compiler (e.g., IBM Enterprise COBOL for z/OS, IBM XL C/C++ for z/OS) before it can run on the mainframe.
- Enhanced Productivity: By reducing the amount of code needed to perform complex operations and simplifying development, HLLs drastically improve development speed and reduce error rates.
- Common Examples on z/OS: COBOL, PL/I, C, C++, Java, REXX, and Python are prominent HLLs used for various application types on the z/OS platform.
Use Cases
-
- Business Application Development: COBOL remains the predominant HLL for developing and maintaining critical business applications, such as financial systems, insurance processing, and inventory management on z/OS.
- System Programming and Utilities: Languages like C and PL/I are frequently used for writing system utilities, performance monitors, and specialized system-level programs that require closer interaction with z/OS services.
- Transaction Processing Systems: COBOL and PL/I programs are extensively used within CICS (Customer Information Control System) and IMS TM (Information Management System Transaction Manager) for high-volume online transaction processing.
- Database Application Development: HLLs like COBOL, PL/I, and Java are used to develop applications that interact with DB2 for z/OS and IMS DB, embedding SQL or DL/I calls for data manipulation.
- Modernization and Integration: Java, Python, and Node.js (via z/OS Unix System Services) are increasingly used to develop new applications or integrate existing mainframe data and logic with modern web and cloud environments.
Related Concepts
HLLs
Related Products
Related Vendors
IBM
646 products
Software AG
51 products
Related Categories
Operating System
154 products
Programming Language
104 products