Control language

Website Developer
5 min readAug 29, 2021

To understand where control language came from, we must look at the company’s history that created it and what was happening with them at the time. It is showed that control language was created in 1978 by IBM. During this period, IBM was one of the largest and technologically influential companies in America and worldwide. At this time was the birth of the concept of personal computers. Even though three years prior, in 1975, IBM would have created the “portable computer,” it was not designed to be used by the everyday person. In 1977 IBM created the Data Encryption Standard, adopted by the U.S National Bureau of Standards. And so, with the Idea of personal computers becoming more palpable, IBM had started to transform one of their older developed languages created to be used on their mainframe, “Job Control Language” plus a language created to operate on their portable computers “PL/I” and combining their ideas to develop control language, which was designed to run on their newest minicomputer “system/38”. Control language has been modified to run most of IBM’s power systems that came out later down the line up to the most modern. In 2008 control language would have its last name change into IBM I.

https://en.wikipedia.org/wiki/Control_Language

To say control language was ever popular is an overstatement. It never made its way to be known or used like other prominent industrial open market coding languages such as C++ or Python. Control language was designed before the personal computer was thought to ever arrive in every household, ironic considering the industrial giant IBM could create such a thing but did not until after other companies were ready to produce and provide cheaper options. Control language was utilized only by IBM strictly for IBM. That is not to say, however, that control language does not have uses or history. It is an old language that had its last major update as a part of IBM in 2013. The language just was not designed as open-source or for personal use.

When created at production, control language is undoubtedly an ancient coding language, even when at its most up to date. It has a much older readability concept where the commands feel pulled out of a database and typed in a specific order while using vague sounding terms. Coding languages all have a method in which they must be input. This pattern is known as syntax in this language. Commands have the following general syntax.

EX: [//] [?] [label-name:][library-name/]command-name [parameter-set]

The brackets indicate that the item is optional; however, the parameter set may or may not be optional, depending on the command’s requirements. The “//” is only valid for a few orders so that it can be primarily omitted in other command lines.

IBM I, in which the lower case “i” stands for integrated, is the control language in its most modern update. Control language is still strictly only used in IBM systems and is not a commercially integrated coding language like Python. It is designed to be used on an administrative level for IBM’s programmers, system administrators, and data processing managers. Control language has been compared to Microsoft’s Secure Shell in terms of functionality; however, it still has separate commands and activation keys and a unique search function built into its design to help navigate the extensive 33-page long command list. According to IBM’s Control language overview and concepts document, every command in control language requires a command name, label, and parameter. The parameter may or may not be optional, depending on the command. The parameter is always comprised of two separate parts, a keyword, and a value, in which it must have one of the two or both keywords and values to function correctly. Control language has numerous differences as a coding language in comparison to Python.

These differences vary from slight changes such as, in addition to the “.” symbol in Python, you can also use the “” symbol when expressing decimal points in numbers. Another minor change is in Python to leave a note or comment. It is just a single use of the pound key in the rear position of the comment. At the same time, in control language, it requires a symbol at the beginning and end of the comment area, the symbol being a forward slash followed by an asterisk for the beginning comment area and then an asterisk first, then a forward slash after for the end of the comment. Control language uses special symbols to verify dates that are relatively standard amongst all date separators. However, it also has an available usage with the Julian day and year. Perhaps the unique difference between these languages is the fact a command can not only be continued through multiple lines like in Python; it can also be continued through several records. This is done with one of two symbols being a plus or minus symbol. Minus only makes it different by providing numerous spaces between the command like a tab key in Python. This means you could write half of a command at the top of your first page and complete it on your last page if it suited you.

Control language has an extensive list of shorthand commands where the term is shortened into three characters long. Take the term object and when shortened is just “OBJ.” If the command were two words long, such as access object, it would be shortened ad combined looking like “ACCOBJ”. The only command when compressed that is not three characters is the description command which is cut down to the single letter “D”. Shortened commands can exceed two words in rare cases, such as when putting In the command display object description, which measures out to “DSPOBJD”.

When using any coding language majority of the time, the languages have different concepts to achieve the same results. Similarly, Python control language has many everyday uses, such as values, strings, and loops. Control language can also use If, and, or make statements instead of if/else statements. The statement is also located initially, but for control, language is identified at the parameter area.

Control language and seemingly all coding languages have many similarities, and they all have their unique differences. IBM’s control language is a stringed linear code format that gives relatively the same functionality as the secure shell on windows to IBM’s power systems. It looks like an older directory system used to log food items in grocery stores when giving an example code. In summary, we have discussed control languages, the origin, and the history of IBM, which it was and still is utilized for. How control language functions and purpose for its design and some of the differences it shares with Python.

--

--