Hello friends
In this post i will discuss the various programming languages that are used for programing mainframe
A computer language is the way that a human communicates with a
computer. It is needed because a computer works only with its machine language
(bits and bytes). This is slow and cumbersome for humans to use. Therefore,
we write programs in a computer language, which then gets converted into machine
language for the computer to process.
Mainframes started off with a single language but the number you can
now find on big iron has exploded, and the division that used to exist
between mainframe languages and those found on other platforms has
almost vanished. So which languages are mainly used on a mainframe
today, and why might you choose one over the other?
The various used languages are - -
- Assembler
- COBOL
- PL/I
- C/C++
- Java
- CLIST
- REXX™
The most fundamental language is
assembler,
and you can still find assembler programs written over 50 years ago
running on modern mainframes. It allows the programmer to address the
hardware directly and so is hardware-dependent. This makes it fast, but
hard to use and to debug, although IBM's high-level assembler HLASM does
remove some of the development pain as it allows you to code using
features more commonly found in high-level languages.
Fortran
is the granddaddy. Mainly used for scientific applications, it was
developed by IBM in the 1950s, has been in continual use and development
ever since, and remains a primary language for intensive supercomputing
tasks. It is relatively easy to write an entirely portable program in
Fortran, although outside of the scientific community it can be hard to
find people with significant levels of Fortran programming experience.
The latest version is Fortran 2008.
Released shortly after Fortran,
COBOL is more oriented towards business programming; the name is a contraction of
COmmon
Business-
Oriented
Language.
Its strength is in data processing and its readability. This makes it
hard to hide malicious COBOL code, and errors easier to spot. COBOL runs
on every mainframe platform as well many smaller systems, and research
firm Gartner reported in 1997 that 80 percent of the world's business
ran on COBOL, with over 200 billion lines of code in existence and that
an estimated five billion lines of new code are being added annually. As
a result, COBOL skills are widespread and still quite easily found.
Updated in 2002 to include support for object-orientation, critics say
the language is over-verbose, but supporters argue that this intentional
design makes the code easy to both write and maintain. This is
especially important as a great deal of extant COBOL code is now quite
old, and the original developers are likely to have moved on. And the
future seems assured, as COBOL vendors continue to add features, such as
Microsoft .NET functionality which provides a means to integrate COBOL
with Windows' .NET framework.
After the emergence of Fortran and COBOL, IBM developed
PL/I
(Programming Language One) in the 1960s with the aim of uniting the
architectures and programming paradigms of business and scientific
computing. Widely used in business data processing, PL/I supported and
supports a range of ground-breaking endeavours, including the US Apollo
space programme and Sabre, the airline reservation system. With the
growth of PC, however, most of PL/I's advantages were overtaken by
existing mainframe languages and by the emerging small systems languages
such as C. IBM's competitors and customers saw little advantage in
supporting or using either, and critics claimed that it was slow and
complex to master. Although still in use, the mainstream has long since
passed it by.
No discussion of mainframe programming languages would be complete
without a mention of Java. Increasing numbers of applications are being
developed in Java because of its portability. It runs inside a Java
Virtual Machine, which provides its portability, and applications
written in this object-oriented, open-source language can run compiled
and so quickly. Skill sets are widespread. Although more of a CPU and
memory hog than C++, to whose syntax it bears strong similarities, if
you can program in C++, Java is easy. So popular has Java become on the
mainframe that IBM's justification for the introduction of the
System z Application Assist Processor (zAAP) was to run Java applications cheaper and more efficient.
C++
is also widespread and available on a multitude of platforms but unlike
Java, exposes low-level facilities. This means of course that it is not
as portable as applications are likely to be reliant on OS-specific API
calls. With care though, source code can be written to be
platform-independent. Perhaps the most compact distinction between C++
and Java is that C++ is powerful and designed for a wide range of
programming tasks, while Java was designed to be simple and easy to
learn with a powerful cross-platform library. Its flexibility means that
programming can be procedural or object-oriented.
This is not and cannot be an exhaustive list of all available
programming languages but I have included most languages in use by most
developers today. Think I’ve missed your favourite mainframe programming
language?
Leave me a comment and let me know.