Can you design and develop a game in COBOL?

Updated happygeek 0 Tallied Votes 3K Views Share

According to research covering more than 100 universities across the globe from earlier this year, 58% of the academic leaders questioned believed COBOL programming should be on the curriculum. Yet only 27% could confirm that was the case, and only 18% had COBOL as a core part of the course with the rest making it an elective component. This coding support quandary is pushed further into the scratching of heads limelight when you consider that (according to the Aberdeen Group; Giga Information Group; Database & Network Journal; The COBOL Report; SearchEngineWatch.com; Tactical Strategy Group and The Future of COBOL Report):

  • COBOL supports 90% of Fortune 500 business systems every day
  • 70% of all critical business logic and data is written in COBOL
  • COBOL connects 500 million mobile phone users every day
  • COBOL applications manage the care of 60 million patients every day
  • COBOL powers 85% of all daily business transactions processed
  • COBOL applications move 72,000 shipping containers every day and process 85% of port transactions
  • 95% of all ATM transactions use COBOL
  • COBOL enables 96,000 vacations to be booked every year
  • COBOL powers 80% of all point-of-sale transactions
  • There are 200 more COBOL transactions per day than Google + You Tube searches worldwide
  • $2 trillion worth of mainframe applications in corporations are written in COBOL
  • 1.5 million new lines of COBOL code are written every day
  • 5 billion lines of new COBOL code are developed every year
  • The total investment in COBOL technologies, staff and hardware is estimated at $5 trillion
  • An estimated 2 million people are currently working in COBOL

One provider of enterprise testing and management solutions, Micro Focus, firmly believes that COBOL is a skillset employers in the business sphere are looking for. In a blog entry entitled 'COBOL: the language for future generations' it admits that "learning older programming languages such as COBOL as well as more modern languages is something few, within today’s generation, consider" yet maintains "the language is present within 85 percent of the world’s business applications, and it’s place in behind the scenes business software is as prominent as ever. COBOL is woven far too deeply into the business world to simply tear out and throw away. The world would be a very different place. Without it in many situations, communications around the world would collapse."

As part of a commitment to bridging the IT skills gap, and helping to create a new generation of COBOL developers, Micro Focus established an Academic Program earlier in the year. "Since the rebirth of this program, we have seen a real upsurge in academic participants" Kevin Brearley, Senior Director of Product Management at Micro Focus says "an additional 44 universities around the globe have signed up to participate in our program – a membership increase of 26% - proving that COBOL has its place in the classroom and remains an importance component of the academic curriculum."

38879b208a0cadcc9b7a6c3465e2db07

Now the company has announced the next step in this attempt to popularise COBOL, a global COBOL Coding Competition. Open to students and community developers around the world, the challenge is a simple one: design and develop a video game program using Micro Focus Visual COBOL Personal Edition. That's it really, apart from offering prizes including $1000 cash, a Sony Xperia Z and an iPad Mini. Micro Focus told DaniWeb that anyone who dabbles in coding, or who wants to break into code development, can take part in this competition and entries can be based on any existing video game such as COBOL Blitz version of Space Invaders, or a new game entirely. As long as the game contains at least 50% Visual COBOL it's eligible. You've got until December 17th to enter.

So, will you be taking part? More to the point, do you code in COBOL? If not, why not? Is COBOL really relevant to the coding landscape, and those whose code is creating it, of today?

bradly.spicer 47 Posting Whiz in Training

This is very very interesting... I've not coded in COBOL but many of the IT guys around my area talk about using it 'back in their day' ;)

ddanbe 2,724 Professional Procrastinator Featured Poster

Never coded in COBOL. Saw some code long time ago. Looks very tedious and "administrative".

mike_2000_17 2,669 21st Century Viking Team Colleague Featured Poster

This looks suspicious:

1.5 million new lines of COBOL code are written every day
5 billion lines of new COBOL code are developed every year

If I know math correctly, I would say that 1.5 million times 365 days is only about 550 million, i.e., about 10 times less than the quoted 5 billion. Either way, one of those statements is BS, maybe both.

And also, adding this statement:

An estimated 2 million people are currently working in COBOL

Are we to believe that COBOL programmers average less than 1 lines of code per day? I knew COBOL was verbose / tedious, but that's a bit crazy!

And I also don't know how easily you can compare COBOL lines of code with lines of code in other languages. Every example of COBOL that I have seen seem to suggest that it takes roughly 4 times more lines of code to write something in COBOL than you would need in a more modern mid-level language like C++ / Java / C#, and certainly far more than is needed in high-level languages like Python and the like.

And then, I'm always skeptical of statements like "COBOL applications manage the care of 60 million patients every day". These statements always seem to imply that the entire software stack for a particular domain is done in that language, which is obviously not true. Any large system involving multiple computers, their OSes, networks, database servers, communication systems, end-user applications, and a number of other software tools, will certainly involve a vast cross-section of languages that "power" them. And then, I'm not even talking about languages that power other languages, i.e., like Java virtual machines being entirely written in C/C++ (so, is it Java or C/C++ that is powering those applications?). And so, the problem with these statements is that as soon as you can insert into the entire stack one piece of software written in COBOL, you can claim that the entire thing runs thanks to COBOL. And often, this is exactly where these kinds of statements come from, i.e., they are aware that one of the major company making some "patient-care" software uses COBOL somewhere in their application (or link to a COBOL library), and so, they take the company's quoted number of clients and counts them as using COBOL "every day".

I think that job offerings are more telling of the actual "need" for programmers in a particular language. Just a quick test on one particular job search site:

.NET: 7,500 jobs
Java: 7,000 jobs
C/C++: 14,500 jobs
PHP: 17,000 jobs
Perl: 1,700 jobs
Python: 1,500 jobs
COBOL: 440 jobs

I think those numbers speak for themselves.

Anyways, there is no doubt that there is a huge amount of COBOL code out there. Largely due to the fact that "business" was really the first major field of application for computers, i.e., running banking systems and manufacturing systems. And it remained the only practical application domain for computers for about 20 years before the PC-revolution.

Also remember that COBOL is used by many programs as an intermediate quasi-machine-code language. In other words, a lot of business programs just generate a ton of COBOL code (that is about as verbose as assembly) as the "compiled" output.

Another point to keep in mind is that old legacy code tends to grow a lot when being maintained over the years, and even more so as people "lose competence" with the language. I wouldn't be surprised to find an atrocious amount of repetition and junk code in those large code-bases. People just forget that some functionality already exists and they rewrite some new code for it instead. People are asked to maintain some old cryptic piece of software, and because they can make heads or tails of it, they just scrap it and write code to replace it. And so on...

All I know about COBOL as a language is that it looks atrocious, and it always comes up as the butt of the joke: "If you think X is hard, try COBOL". All I ever hear is programmers celebrating the "death" of COBOL, and from seeing code samples, I understand why.

I think even if programmers learn COBOL in college, I don't think anyone really comes out of a CS degree and goes looking for a COBOL job, they'd probably aim to avoid COBOL as much as possible. It's more like if an applicant says "I will do some COBOL if you need me to", then you know that this applicant is really dedicated and will do anything you ask of him.

But I agree that this does not bode well for the bilions of lines of code that are out-there and will soon have very few people to maintain it. But I'm sure there will be "built-from-scratch" systems in other languages that will come to replace them as they become increasingly difficult to maintain. And who says you always need to maintain them? Some of the GNU tools (i.e., those small command-line programs you use in Linux, mostly) have not been modified (at all!) since the late 80s, and are still prefectly good.

happygeek 2,411 Most Valuable Poster Team Colleague Featured Poster

I knew COBOL was verbose / tedious, but that's a bit crazy!

Hehehe :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.