COBOL, Java and .Net Modern Legacy

People tend to have two differing views of COBOL:

    • One group fully back COBOL.
    • The other group is made up of COBOL sceptics.

As is often the case, the truth lies somewhere in the middle. There are no better or worse languages – simply different ways of using them. In this article, I show both sides how to find the middle ground.

Why COBOL does not appear to be attractive
    • No fast familiarisation

Python: two lines of code and you get a result.
JavaScript: open your browser and you’re ready to go.
COBOL? You need a dedicated compiler, an appropriate IDE (usually a proprietary one), and it is often hard to know where to start.

    • No community

GitHub features thousands of projects and active community for modern languages. But there is nothing comparable for COBOL.

    • No value for your own projects

You want to develop a tool, work on a small project or a small service? COBOL has little to offer. It is not made for creative experiments or to teach yourself to develop.

Conclusion: COBOL is not a language to quickly implement an idea or be highly visible.

But COBOL is well placed for other tasks

This is not the place to reiterate the importance of COBOL for banks, insurance providers, or public sector bodies, nor to re-state how many million lines of COBOL code are used every day. None of this is a convincing reason for young developers to engage with COBOL. These facts constitute a business problem not a problem for young developers.

What can make COBOL attractive

Trotz seines Alters wird COBOL weiterentwickelt und in moderne IT-Landschaften integriert. Einige Punkte, die COBOLheute moderner machen:

    • Cross-compiler such as P3/COBOL: these enable combinations of COBOL and Java. They allow for the use of modern Java ecosystem tools (such as REST-APIs, SQL/NoSQL databases, message brokers and more).
    • Modern IDEs: today, developers can write COBOL in development environments like Visual Studio, Eclips and more – no more “Vim-Only” feelings.
    • Modern tools: Git, CI/CD, container technologies – all of these are now also used in COBOL projects.
How businesses can improve

Rather than repeatedly declaring COBOL to be fit and healthy, businesses should understand what hurdles developers face on their journey with COBOL – and work to remove these hurdles:

    • Provide an accessible, well documented development environment:
      • Make trial versions available for people interested in COBOL
      • Businesses should approach young people – and not the other way round
    • Offer interesting, practical bootcamps to identify talent early
    • Publish open source examples or sandbox projects
    • Share COBOL experiences – what is going on now, what might a normal business day look like?
    • Crucially: no unrealistic expectations. Nobody has 50 years of COBOL experience aged 20. Expectations should be realistic and transparent.
What young developers can do - a guide

If you are open to a career working with COBOL and understand its potential, then the following plan could help you:

    • Learn the basics
      There are insightful tutorials and YouTube courses that help you get started.
    • Use free development environments
      If you don’t have access to a proprietary compiler, use GnuCOBOL. There are even Docker images for a quick set-up.
    • Implement a small learning project
      COBOL excels at processing data. Start with something tangible, for instance: migrating data from ISAM files to an SQL database.
    • Deploy modern tools
      Git for version control
      GitHub/GitLab for publication
      Docker for reproducable environments

COBOL will never be a trendy language – but if you have the right mindset you can easily become a professional. And who knows, perhaps you will be one of a few who can really combine alt with new.