The debate over which programming language best serves the needs of today’s business has been one of increased popularity within the last few years. With many language choices available to today’s application developer, what is truly the best option for enterprise business applications? Some have chosen Java, others C#, while other developers have elected to continue to use more traditional choices such as COBOL or PL/I. Is there a clear choice for business and which language choice fosters higher code quality?
A recent study by Cast Software addressed code quality specifically between two application development languages - Java and COBOL. The study introduced the concept of technical debt to this discussion and its growing impact on today’s business.
With technical debt estimated at £320 billion and growing, addressing poor application quality continues to be a growing focus. Addressing such technical debt, the average cost per line of code was projected to be £2.31, per the Cast Software study. The cost to address Java quality issues, per line of code, was £3.47 compared to the cost of COBOL quality issues which was £0.80. With respect to cost and impact to business application quality, Java was over 4.3 times more expensive than COBOL.
In tackling technical debt impact, there are many factors as to why Java was projected to be more expensive than COBOL. The absence of sound technical architecture and planning is one reason for the increased number of code quality issues. With an increased pool of Java developers in the market, application development practice and consistency becomes increasingly more important.
COBOL doesn’t suffer from this challenge as it has been vetted for over 30 years in enterprise organisations. Most code quality issues have been discovered, addressed, or remediated. In this regard, COBOL becomes a less risky option for business due to its prevalence within IT over the last half century.
The significance of code quality is important as it directly correlates to market risk. As this study highlighted, application quality issues can manifest themselves as security breaches, services outages, performance degradations and so forth. These activities not only impact an organisation’s ability to serve its customers, but also create public relations nightmares. An organisation can best serve its customers and its shareholders by pro-actively searching, locating, and addressing these code quality issues before they directly impact business services.
Clearly, there are application quality challenges ahead of many organisations. Putting a solid action plan in place to address these issues will begin to address the technical debt of that enterprise. Does this mean, however, that an organisation, per this study, should shy away from Java, due to its higher cost to the business? No, business clearly needs the continued flexibility of choice and freedom for application development and delivery.
Utilising one language for enterprise application may not be the best strategy for an enterprise, particularly if significant historical value and competitive advantage resides in legacy applications, such as those written in COBOL or PL/I. Organisations need the option to select the best tool (language) for the task at hand and mix usage to best serve the business application needs of their user community.
For example, developers have used Micro Focus Visual COBOL to maintain, enhance, and expand existing COBOL business applications, side-by-side, with managed code environments such as Java or .Net. As most business enterprises, today have a mix of application languages, facilitating more productive use of these languages in a common, industry standard manner will translate to higher developer productivity, lower development project cost, and ultimately lower risk and exposure to the business.
The use of mixed language support within application development is a necessary requirement today. Such application development practices promote flexibility and choice for the enterprise and allow that organisation to both reduce development cost but also improve its agility.
Proper care, though, should be given to the quality and practice applied to this approach. Regardless of the language used for enterprise application development, an organisation must invest in sound application development techniques and quality review practices. Such an investment is critical to the risk mitigation strategy of that enterprise and its goal to reduce its technical debt.
Written by Ed Airey, COBOL Product Marketing Director, Micro Focus