The resurgence of COBOL is of no surprise. Expanded as Common Business Oriented Language, COBOL might not even feature in the university curriculum, and that’s why there are fewer COBOL developers. But the matter is that this programming language is used by legacy systems on which the world still depends, for their day-to-day transactions. Almost 70 to 80 percent of worldwide present-day business transactions are done on IBM iSeries. A 2017 research study uncovered billions of lines of COBOL codes, which are still in use today.
But there is a gap that needs to be bridged. Legacy AS/400 systems that run COBOL applications need COBOL developers. for regular maintenance and new application development. Existing legacy server infrastructures that run on AS/400 are irreplaceable. Government institutions, large banks, public services companies, insurance companies, etc. – all of them are unwilling to stop AS/400 systems and upgrade to the newer IBM Power Systems.
Their argument is simple – when something is running super-fine, why change just for the sake of change?
Why cannot COBOL be Replaced?
AS/400 COBOL applications are used all over the world, and there is always a need for COBOL developers. Considering that more than 100,000 AS/400 customers exist, one can imagine the enormity of COBOL application deployments and the increasing need for COBOL developers.
- More than 60 million patients are treated and cared with applications developed on AS/400 COBOL apps. Thanks to efforts of COBOL programmer.
- Most ATM transactions, at least 90% of them are powered by COBOL application.
- Every year, almost 96% of vacations are booked using systems built on COBOL developers of all ages.
- Social Security Administration has more than 60 million lines of code written in COBOL.
- IRS uses COBOL applications; about 50 million lines of COBOL code are used at this single entity.
Has Something Better Come Along?
The answer is – it is not required. For so many business applications, COBOL has been a rock-solid foundation. COBOL applications haven’t broken, are resilient, and secure. So, the need to replace it does not arise because if a system is working fine, then there is no need to tinker with it. Another point of consideration is that COBOL has explicitly been designed for business applications. Other low-level programming languages such as Fortran and LISP are better suited to solve scientific problems and create artificial intelligence applications.
Grace Hopper’s Graceful Language Has Come a Long Way
At the beginning of the computer age, banks, government organizations, and insurance companies started creating machine-specific programming languages with the help of COBOL developers. Due to the high cost and time involved in running and maintaining these applications, a universal solution was needed in place. And Grace Hopper was instrumental in bridging, this gap by creating COBOL. The programming language was universal and capable to run on all business systems.
COBOL’s syntax is an output of Grace’s reasoning that the syntax of programming languages should be close to spoken languages. That’s why COBOL syntax was considered a wordy one by COBOL developers. The era of verbose English-like programming languages has dawned again, starting from Python. Grace’s reasoning of yore is now very relevant because the humanization of computing increases the possibilities of unlimited programmatic expressions.
What Differentiates COBOL from Other Programming Languages?
Unlike general-purpose languages, COBOL is best suited for business applications programming. The following are some of the characteristics of business applications that makes COBOL different from other programming languages:
- Business-oriented programming languages should be equipped to manipulate, manage, and declare heterogeneous data. COBOL developers write highly dynamic code. A program file means that one could find a mix of data types and complex data or record structures. Floating-point data types, integers, strings of fixed and variable lengths, etc., are used abundantly and sometimes randomly. The need to map such data models to RDBMS by way of object-relational mapping tools is challenging.
- Only valid decimal data types can do full justice to high-fidelity business applications such as accounting software built by COBOL developers. An entry in a ledger must be correct up to the last digit; likewise, accounting software must accurately record a line item up to the previous digit. Financial data is highly reliant on the accuracy of these numbers.
- Data in the form of record structures that are maintained externally can store large amounts of information. Business applications need to access and manipulate these structures. COBOL developers could easily access and use such data with COBOL.
- Although general-purpose programming languages can resolve the points mentioned above, but the point is that COBOL fulfils all these requirements with its native capabilities for the same. That could be the reason why COBOL developers thrived in an era where large-scale business applications that we’re opposed to changes needed to be built and maintained.
The fact of the matter is that billions of lines of COBOL continue to exist. Any attempt to transition the lines of code to newer programming languages hasn’t been successful.
Is it wise to Migrate COBOL Applications to newer General-purpose Programming Languages?
It can be done based on a lot of factors. The questions a COBOL developer or an iSeries consulting firm might ask are:
- What are the future aspirations of businesses for their AS/400 COBOL business applications developed by COBOL developers?
- How much of the codebase does the business want to transition?
- Will the business gain better mileage by building equivalent COBOL applications on the cloud by COBOL developers?
A migration to a general-purpose programming language can be done using expert services of iSeries consulting firms such as Integrative Systems. Otherwise, the effort is fraught with risks.
Here are some of them:
- Software conversion might have issues. Firstly, it won’t be exact. To get exactness, performance considerations may be lowered.
- BCD conversions and decimal arithmetic may not be considered. But these are critical for mainframe applications. COBOL has native support for these – COBOL developers would strongly agree.
- Conversions might change business logic. Unregulated usage of non-standard and undocumented features could form chinks in the code.
- General-purpose languages may not have direct resolutions for parts of z/OS such as VSAM.
- Post-translation, the new programming language might incur more costs for maintenance. There could be many irregularities and code-bloating, something that might not control COBOL developers. The translated code’s size could end up being several times bigger.
- Quality of developers involved in the COBOL-General purpose programming language translation effort matters.
- Issues related to integrating converted code to an SCM, test, or production environment.
- Issues concerning fallback and backup capabilities.
What kinds of COBOL Applications Might need to be Translated?
- There are poorly written applications everywhere, and the same goes for COBOL applications built by COBOL developers. Several decades-old COBOL applications might have gathered technical debt. To shed off the technical debt would mean re-investing in resources, and it might increase the TCO of the application. Suppose a perfect translation or migration to a modern general-purpose programming language can be affected. In that case, the near and long-term TCO of the app will have a healthy cost-to-benefits ratio.
- Workloads that do not have legacy constraints and for which a general business case exists can be migrated to a newer programming language by a COBOL programmer or expert AS/400 consulting company such as Integrative Systems.
- If the code can be refactored, it can potentially be migrated to a newer general-purpose programming language such as Java or C++. This technique is considered more optimal for COBOL support and low risk than a complete rewrite of the application. The latter is not only time-consuming, but by the time the project is complete, a need to catch up with newer technologies could arise.
How can Integrative Systems help Customers with COBOL Application Development?
- Integrative Systems has COBOL developers who can develop, validate, and deploy COBOL business applications for various operating systems such as Windows, IBM i, Z/OS, and Open VMS, etc. The expert programmers can reengineer applications, modernize interfaces, apply software security, and curate inbuilt availability to legacy COBOL applications.
- The COBOL developers have expertise in the maintenance and migration of COBOL applications. All efforts related to COBOL development, software lifecycle management, testing, migration, and maintenance are as per ISO/IEC standardizations.
- COBOL developers have varied industry experience. From banking & finance to transportation, insurance, and utilities, the varied industry experience helps in COBOL application consulting.
Integrative Systems is a leading IBM iSeries AS400 modernization services providing companies in the USA. The company also offer services like, custom software development and design solutions, IBM Power Systems iSeries consulting, RPG/COBOL application development and maintenance, and mainframe systems technology consulting. Also, reach out to Integrative Systems at [email protected] if you are looking for COBOL developers, AS/400 iSeries software services and support.