Mainframe programming — NATURAL/ADABAS tutorial. Intro — a few words of introduction

Basics of Mainframe programming for beginners.

Natalia Nazaruk
codeburst

--

source: pixabay.com

Programming on the Mainframe class computers is not a popular profession nowadays, it can be however an interesting one and also very profitable. When I was preparing to start my job as a junior mainframe developer, I encountered the problem of a small amount of knowledge sources in this area, particularly available for free online. This is why I decided to start this tutorial for anyone who would like to know more about this interesting area of computer science, and also learn a little of NATURAL language, which is one of the programming languages used for Mainframe computers. In this first post I will give you some information about the mainframe computer as well as the language and database that we will use. Soon we will also start writing the first programs and create our own databases. You can find all the parts of this tutorial in the links below:

  1. Intro — a few words of introduction.
  2. Part 1 — setup process and “Hello World” code
  3. Part 2 — how to work with database
  4. Part 3 — error Handling and Debugging Techniques

What is Mainframe?

Systems based on Mainframes are still widely used, mainly by large organizations. The companies commonly use Mainframe for critical financial applications or for public use complex systems. Transferring this type of application to more modern solutions is not only very difficult, but also extremely expensive. That’s why we still need specialists who can manage this type of system and program Mainframe machines. Unfortunately, young programmers are more likely to use languages such as Java, Python, JavaScript etc., while experienced Mainframe specialists are usually quite old already and finish their careers.

The name Mainframe refers to the first machines of this type. It was usually large, like most computers then, and it occupied a large part of the server rooms. Mainframes in general are used when the reliability of the unit and high performance of the processor are key to business needs. Currently, the largest manufacturer of mainframe is IBM, but we should keep in mind that this is not the only provider of this type of technology. The extraordinary advantage of Mainframe systems is that they can be joined to form one logical super-unit.

Programming languages on the mainframe

As you can guess, to program Mainframe machines we usually use languages specially adapted for this. The most commonly used languages nowadays are (among others) COBOL, RPG, PL/I and NATURAL. The latter is the language that I use at work and the one that I use writing this tutorial. NATURAL is 4th generation language (4GL), and just like the ADABAS database you normally use with it, was created by Software AG company. Someone might wonder why you should use NATURAL instead of COBOL, so popular and tested over the years.

Well, there are many reasons. As NATURAL is the 4GL language, it allows you to achieve the same effect in only a few lines of code, which would normally require much more operations in 3GL language (like COBOL, Pascal or Java). Also the language is extremely easy to learn and use. NATURAL works well in cooperation with databases, in particular with the ADABAS database, which is kind of obvious. Of course there are also downsides. Since NATURAL is an interpreted language you may experience some performance issues while using it. On the other hand, ADABAS is considered to be faster than DB2 (usually used with COBOL), so performance problems become irrelevant.

In the next part of the tutorial we will learn about the syntax of the language and write our first program. Feel free to follow my profile to be up-to-date!

This article is part of a series I write about NATURAL programming. Please note, that I am currently working as a junior mainframe developer, so I learn the secrets of the language myself. If you see any errors in my articles, please let me know! If you like the article and you believe there should be more articles about Mainframes please clap a bit, leave a comment or share this link wherever you want.

--

--

Android developer (Kotlin 💯). #GDG3city organiser 💻 Soft Skills advocate. Winner of Google & Udacity scholarships. Dogs & Cats 😍