Win a copy of Microservices Testing (Live Project) this week in the Spring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh

Is It Worth Learning COBOL?

 
Ranch Hand
Posts: 193
14
Hibernate Eclipse IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So there I am trawling through emails in work when I see that an email from one of the tech teams exhorting their COBOL programmers to ensure they sign up for a COBOL refresher course to ensure their skills are up to date.  The course isn't available to me as our team doesn't support any mainframe development but it got me thinking - is it worth learning COBOL?  I'm aware that it's a very old language that powers many legacy applications and I also remember reading that, due to its age and the fact that colleges tend not to teach it anymore, the pool of COBOL developers is shrinking.  I was thinking it might be a useful skill to have and open up a few career opportunities.  What do folks here think?
 
Marshal
Posts: 76070
362
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sounds like something in the wrong forum: let't try the jobs forum.

You are probably right. There is probably a lot less COBOL around than there was even ten years ago, but there are also far fewer people who remember how to maintain these old systems. If they belong to a bank or similar, they are probably still vital to its running. I suggest you see if you can find out more info, because you may be able to earn lots in COBOL programming. Don't know more than that. You can also consider learning how to port the old systems into more modern platforms.
 
Simon Ritchie
Ranch Hand
Posts: 193
14
Hibernate Eclipse IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Campbell
 
Rancher
Posts: 383
13
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:there are also far fewer people who remember how to maintain these old systems



Very true. The company I work for (life insurance/investments) is about to have a slew of mainframe developers retire and there is a lot of concern about who will be left to maintain mission-critical backend systems running on COBOL. I would venture to guess that a COBOL programmer will be in demand for some time to come. The large migration costs alone will keep many companies from moving away from COBOL-based systems any time soon.

Consider the following article: demand for COBOL programmers

Food for thought...

All the best if you decide to pursue this Smon!

 
Saloon Keeper
Posts: 25810
184
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
COBOL enjoyed a very brief popularity on PCs. It's almost entirely a mainframe language and mainframes aren't as common as they used to be. In fact, I worked at a bank that as far as I know didn't have a single bit of IBM hardware or software and it's a very large bank. Although we did have mainframes by proxy, as both the mortgage processing and account processing systems were outsourced.

Although IBM has tried to make COBOL web-friendly, few have bought into it. Mostly COBOL is done on legacy batch systems or CICS apps. CICS is a lot like HTTP, but not as powerful.

If you want to try your hand at COBOL, one easy way to do it is to get a copy of the Hercules IBM mainframe emulator. It can accurately reproduce almost any IBM mainframe architecture right up to the present. Unfortunately, IBM stopped "open-sourcing" their code in 1986, so the best option would be COBOL D on OS/MVS 3.8, which actually was state of the art when I left the mainframe world, but is pretty dated now. Then again, most COBOL apps are pretty dated as well.

Emulation is slower than native code, of course, but then again, by my estimate my cellphone is more powerful than an IBM System/370 Model 168 (top of the business line in the early 1980s), so it runs quite well on a desktop PC. In fact, I was using an old Pentium 200 as a "mainframe" for a while.
 
Simon Ritchie
Ranch Hand
Posts: 193
14
Hibernate Eclipse IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks everyone!  I'll set up an emulator this weekend and start messing around with the language, see how I get on.
 
Tim Holloway
Saloon Keeper
Posts: 25810
184
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Simon Ritchie wrote:Thanks everyone!  I'll set up an emulator this weekend and start messing around with the language, see how I get on.



Note: The Hercules emulator is just the software to emulate IBM System/370-3x00-SystemZ hardware. You'll also need to set up the virtualized tape and disk (DASD) drives. The easiest way to do this is to download and unzip the MVS 6-pack file from the Hercules archives (I think they're on Yahoo). Then you have to set up or customize the config file that maps the 6 DASD volumes in the 6-pack to emulated devices and IPL OS/MVS. MVS is a batch-oriented OS, so to actually compile and run COBOL programs, you need to create Job Control Language (JCL) and submit the JCL virtual punched-card deck to a virtual card reader. The output goes to a virtualized line printer device, where it can be captured in a text file. OS/MVS is an EBCDIC-based system, but Hercules can translate ASCII input and output files.

You'll be actually running an industrial-scale mainframe console, serving both as machine console operator and programmer, so if this seems a bit much, you might want to explore a simpler option. On the other hand, since this is how COBOL runs on a mainframe, it's a great way to get the feel of real-world mainframe development.

I see that there's now a "GnuCOBOL" available on SourceForge and it's under active development for Linux and Windows. That might be a lot easier, and it includes the 2014 COBOL standard.

The traditional solution on PC DOS systems was Micro Focus COBOL. It looks like IBM may own it now and has apparently got a Linux version.
 
Their achilles heel is the noogie! Give them noogies tiny ad!
Free, earth friendly heat - from the CodeRanch trailboss
https://www.kickstarter.com/projects/paulwheaton/free-heat
reply
    Bookmark Topic Watch Topic
  • New Topic