Is C an underrated programming language

What is COBOL and why is it asked for?

The 60-year-old COBOL program is experiencing a revival. Many government system mainframes run COBOL and have trouble coping with increases in demand. In particular, the New Jersey state unemployment system is managed by a 40 year old COBOL mainframe.

With the rise in unemployment associated with COVID-19, the system is struggling to keep up. Governor Murphy identified COBOL programmers as an underrated necessity.

What is COBOL?

In 1959, the Data System Language Committee designed COBOL. They wanted to design a standard programming language that could run on many different mainframes.

At that time, many new programming languages ​​were being developed and programming languages ​​for new hardware became too expensive to translate. COBOL, or a common business-oriented language, was the solution to this problem.

COBOL was based on the FLOW-MATIC programming language created by Grace Hopper. It was the first programming language to use English terms for data processing instead of mathematical notation. Grace Hopper stated:

“I used to be a math professor. At that time, I realized that there were a certain number of students who couldn't study math. I was then assigned to make it easier for business people to use our computers. "(The early development of programming languages ​​p. 29)

Similarly, COBOL uses English terms and is designed to be easy to read. However, some criticized it for being too verbose. For example, in C you could write the following to add two numbers:

The same code in COBOL would be written as:

Similar to C, COBOL is a procedural programming language. This simply means that COBOL programs are designed to follow sequential steps. COBOL is also a self-documenting language that adds to its ease of use. However, the most famous characteristic of COBOL is that it can handle large amounts of data.

Related Topics: 5 C Programming Tips You Must Learn To Get Started

COBOL became widely used, particularly by corporations, governments, and financial institutions. So widespread that it is still used in many places today.

Why has it become less popular?

Despite COBOL's popularity in the past, few people know the language. There are more programming languages ​​today that focus on English commands that offer a lot more functionality than COBOL. Few programmers create new programs in COBOL. Its main use is to manage older programs.

One criticism of COBOL is that programmers tended to write spaghetti code. Spaghetti code is a derogatory term for code that is poorly structured. The main culprit of poorly structured code was the GOTO command.

As mentioned earlier, COBOL is procedural, so the computer reads each line of code in order from top to bottom. The programmer could use the GOTO command to instruct the program to jump to another line. Bad use of the GOTO command can lead to the COBOL code becoming tangled.

Related topics: How to keep your code clean with object encapsulation

Another reason COBOL is not popular is that it is rarely taught in universities. COBOL was created by the business community, not the academic world. It is designed to solve business problems and is optimized for problems like computing. Academics are often interested in different questions and therefore encourage different programming languages.

However, one of the biggest problems with COBOL is that it doesn't, even though it was designed to be a common language. As the language evolved, many different dialects were created - 300 of them!

This makes legacy code difficult for programmers to understand.

Why COBOL is important

Because COBOL is widely used by businesses and governments, many COBOL systems still require maintenance. Legacy code is known to be difficult to maintain because the programs are large and complex. Therefore, programmers with a deep understanding of language are needed to maintain the programs.

It also takes a long time to make changes to the code because it is difficult to tell if the changes affect other parts of the program.

For example, in the 90s we faced the Y2K bug. Much annual data was stored in computers with the last two digits of the year instead of the entire year. 1997 was saved as 97. It was feared that changing the year to 2000 would not recognize the year 00 as valid, causing problems with the date sequences and potentially crashing many systems.

It took US governments and corporations several years and $ 100 billion to fix the Y2k bug. It is possible to change older systems, but doing so can be time-consuming and costly.

In 2020, COVID-19 created a new programming problem. The US unemployment system runs on COBOL and it is very difficult and expensive to make changes to the program. For example, Congress planned to respond to the rise in unemployment by calculating unemployment benefits based on lost wages. However, it would have taken five months to adjust the program to do the calculation.

Related Topics: Coronavirus COVID-19: 15 Websites You Can Trust for Reliable Information

COBOL systems cannot be changed quickly enough to respond to crisis situations. The problem is exacerbated because not enough people are trained in COBOL to help with the increased maintenance required to support the systems during the crisis. Those trained in COBOL are either retired or about to retire.

Where to learn COBOL

To meet the growing need for COBOL programmers, IBM created a free COBOL course. The course consists of a series of videos, tests, and lab assignments. It takes 16 hours to complete and you will receive a badge at the end.

If you are already an experienced COBOL programmer, IBM also offers a COBOL network forum. There experienced programmers can be connected to organizations and companies in need.

COBOL is not a trendy programming language like Python, but it is an important one. Much of the world is still running on COBOL. If you've been thinking about learning a programming language but need a push, learn COBOL.