As a member of the Micro Focus COBOL team, I have had the opportunity to attend many developer community events and speak to hundreds of local experts within the software development space. We often find ourselves engaged on the age-old question of ‘which programming language’ is truly better for application development. Most approach the question, subjectively, basing their view on personal experience or preference. The same question has also spurred a significant amount of industry debate as organizations seek to plan future steps and application strategy. Some industry groups such as TIOBE, also track the popularity of programming languages over time.
I had the chance to catch up recently with Bob England, Senior Developer and Head of England Technical Services. As a seasoned veteran in the developer community, Bob’s worked on many application development projects across both large and small organizations. I’ve asked him to weigh in on this popular topic within the development community and to share his industry insight and experience on which programming language he believes is best suited to modernize today’s core business systems. So without further ado, it’s over to Bob.
Let’s Look at the Facts –
Code is logic and logic does not get old. Even though:
If a < b and b < c then a < b
has been around for a very long time it is still just as true! It doesn’t matter how long a piece of code has been around. It is still exactly the same as the day it was created. You don’t have to change the oil and rotate the tires with logic. You don’t rewrite logic because it is old. You change logic because the business changes.
It is true that newer languages can offer the benefits of new knowledge and approaches. So – which language is older?
Java – first released in 1995 (23 years old)
C# – first released in 2000 (18 years old)
Visual COBOL – 2010 (8 years old)
Programming languages are not religions and therefore do not have moral value and are not “good” or “bad”. Programming languages are tools and should be described with adjectives such as useful, not good, bad, better, or worse. If you want to compare two different implementations of the same programming language, then it is appropriate to say one is “better” than the other.
While logic does not age, the tools used to create logic can go out of style, because style is simply society’s passing fancy. It is irrational to dispose of valuable business assets because the tools used to create them have gone out of style! If “being in style” is deemed important, than justification for the cost of creating new logic should be accompanied by an estimate of how long the new tools will be in “style”.
Very few programming language comparisons are completed by experts in both languages or technologies. When such a comparison is made, the conclusions should be taken with a grain of salt or two.
Java and C# were designed to support the development of a variety of software applications, not just business software. And that’s great news for developers, providing them ample choice for new development efforts. COBOL was created to support the development of business applications. That is its specialization. If you are developing business applications the specialization of a programming language for building business applications is a benefit.
Modern COBOL development using Visual COBOL delivers a just as good object oriented language implementation as Java or C#. (Note: This does not violate the earlier rule on good/bad because we are comparing/contrasting implementations of a specific type of programming language). As a developer, you can do in Visual COBOL what you can do in C# or Java. The syntax is different, but equally functional, making it neither better nor worse.
Visual COBOL is also a great implementation of the historical COBOL standard. This function is in addition to its object-oriented capabilities and in no way, shape or form compromises them.
If these two assertions are true then Visual COBOL is by definition a superior language for business application development when compared to Java or C#. The only way that this argument wouldn’t be true is if the historical COBOL standard retained little value, and several billion lines of code in production would suggest otherwise.
So now that we have established that Visual COBOL is a superior language for business application development, let’s apply that to a real world situation.
In this example, there is a COBOL application with an outdated user interface and a desire to modernize it. Should the developer rewrite it using a different language or modernize it using Visual COBOL?”
In my view, here is the only possible answer:
If the application continues to deliver value for that organization and is linked to future business success, development teams should (without question) modernize it with Visual COBOL. Visual COBOL gives you every modernization capability that C# or Java gives you PLUS the ability to reuse at least some portion of your existing COBOL logic. How big SOME is may vary, but unless SOME is the same as NONE then by definition a move to Visual COBOL will be faster and less expensive. Developers will achieve their objective quicker and with less expense and will retain an application that is built with a tool specifically designed for maintaining and modernizing business applications. Based on my experience as a developer, to do anything else is ridiculous! Rather than looking to re-write the application, the better question to ask is “How should I use Visual COBOL to modernize my application?”
Please get in touch with me if you’d like to discuss any aspect of this with you,
Best wishes, Bob
Thank you Bob for your insight and view into why Visual COBOL delivers a better solution for maintaining and modernizing core business systems. As you’ve outlined, each programming language has its intended purpose and use case. The COBOL language was built to support business systems and now through modern technologies such as Visual COBOL, developers can quickly modernize those same decades-old systems while leveraging valued business logic. The decision seems straightforward for developers tasked with supporting mission critical COBOL applications, but I’d suspect that some many want a closer look. Click here to explore further and begin your personal journey with Visual COBOL.
Also don’t hestitate to download our free ebook to find out more about Visual COBOL if the subject interests you: