Software Development

The resurgence of COBOL

If you are an aging programmer, you have likely seen and/or programmed in COBOL at some point in your life. Indeed, most baby boomers learned COBOL as a first, second, or third language as they began their programming careers. Still, most of us think of COBOL as a dead language that is in the process of being replaced in business.

If you are an aging programmer, you have likely seen and/or programmed in COBOL at some point in your life. Indeed, most baby boomers learned COBOL as a first, second, or third language as they began their programming careers. Still, most of us think of COBOL as a dead language that is in the process of being replaced in business.

Or is it? A glance at a recent article in ComputerWorld may provide part of the answer.

COBOL stands for Common Business-Oriented Language, having its foundations in Grace Hopper’s “FLOW-MATIC” and COMTRAN invented by Bob Berner. According to a 1997 survey by the Gartner Group, 80% of the world’s business runs on COBOL, with an estimated 200 billion lines of code in existence and an estimated five billion lines of new code annually.

Because there is a massive installed base, the expense to replace the code would be prohibitive. So, many companies are looking for ways to integrate COBOL with newer applications.

In addition, the average COBOL developer is generally nearing retirement age. In 2004, Gartner made an effort to count COBOL programmers. They estimated then that there were about two million of them worldwide and that the number was declining at 5% annually.

From ComputerWorld:

We surveyed Cobol programmers and companies involved in the Cobol field and determined that the market these days supports two types of careers:

  • An emerging role in which the programmer serves as a bridge between Cobol code and new applications. Such jobs require people who understand Cobol, the business rules and processes on which old Cobol programs are based, and more modern languages such as Java.
  • A more traditional programming path, in which the employee maintains and fixes old Cobol code in addition to writing new code, also still in Cobol.

The Cobol liaison role can be an interesting career path, says Ramadoss. "Cobol doesn't stop at Cobol," he points out. "You can integrate it into any modern technology."

With the emergence of service-oriented architectures, companies are able to more easily reuse their Cobol code, notes Nate Murphy, president of Nate Murphy International, an IT professional services firm.

The 66-year-old Murphy, who has decades of mainframe and Cobol experience, sees a resurgence in the value of Cobol because of the emergence of SOA and IBM's Language Environment, which provides a common runtime environment for combining many different languages, including Cobol.

"Now you can extend and add subroutines for other Web-based features that you need," he says. "All of a sudden you've got a valuable asset in these old Cobol programs, and you can extend them and expand their capability without writing new code."

It would seem that being a COBOL programmer isn’t such a dead end after all. With a significant installed base and no apparent signs of significant replacement, COBOL may be a viable and vibrant career path for some time to come.

Do you program? Java, AJAX, .NET, and others are the hot languages, but it is impossible to deny that COBOL is still a vibrant skill set. Would you consider COBOL as a career path, or do you think that it has had its day in the sun?

More information:

The looming day of reckoning (ComputerWorld)

Top technology, media and telecommunications trends for 2008 showcase society’s struggle with the “double edged sword” of progress (Exchange Morning Post)

173 comments
Juan Ferzara
Juan Ferzara

Guys, guys, COBOL was one of the three languages I had to use in Comp Sci Labs 101 , 102 and 103, because that was what the industry was using. With .NET, JAVA and other technologies is somewhat refreshing to Google and find COBOL for .NET. I concur with the person who said that a GOOD programmer will use whatever language is needed (with some adjustments and a book in his lap, of course) p.s. one of the tags says "dinosaur" for those who have its biology fresh... current Dinosauria still exist and they sing every morning in a tree nearby.

cgm
cgm

COBOL, Not cobol. Computerworld columnists consistently confuse what is and what is not an acronym. A Few Words About COBOL: COBOL is dead, Long Live COBOL!?? COBOL has been pronounced dead and buried more often than enough, yet like Kings of a powerful and long lasting dynasty, COBOL comes back younger and more powerful than ever before. We at COBOL Gold Mine think differently. COmmon Business Oriented language. The most Mature and most stable programming language ever devised for business Applications to date. Be it Financial, Manufacturing, Reservation, Banking, or any industries. It is also the most consistently updated programming language: COBOL born in 1959. Continually updated and enhanced to support new technologies and computer power in 1968, 1974, 1985, 1997 and 2002 (COBOL-68, COBOL-74 COBOL-85, COBOL-97, COBOL-2002). It is also the only programming language that runs on practically all computing platforms ever built (American, British, French, Japanese Mainframes, Minis, PCs and it run on just about every UNIX platform), and the Internet! Read about some of what has been said or taught wrong about COBOL and the truth about COBOL and where it stands today at (http://tech.groups.yahoo.com/group/cobolgoldmine/message/327). Those who think that COBOL is dead have not done their homework. All credit card transactions around the world are handled by COBOL. Just about every ATM machine on the planet provide cash to account holder using COBOL application. Nowadays, more business applications are being developed using COBOL that any other language. Many project managers hide this fact by fear of looking outdated or use some language du Jour to develop Internet applications because they do not know that COBOL power and performance are much higher even on the Internet. COBOL ON THE INTERNET: visit www.COBOLonWeb.com and see COBOL in Action like you have never seen it before! Ebusiness, eCommerce, Advanced Form handling and more. Seeing is Believing; experience the power and lightning speed of COBOL on the internet like you have never seen it before. There is no - repeat - no other language used to power the business application per se. At the moment you select an option COBOL takes over. The user interface is in HTML. And some JavaScript to handle animated graphics, the menu and to make COBOL "swing". FYI, the Web server in located in central Florida and is the slowest machine we could find to prove a point; a mere 1.29 Ghz Intel CPU. Furthermore the same COBOL module runs in a multi-lingual environment, from English to French to Spanish to Arabic, Hebrew, Hindu, and more... And try the 2007 look of the application by clicking on the United Nations flag. Again still the absolute same COBOL modules but different UI. Enjoy! Questions and Inquiries welcome at cgm@ils-international.com

Tony Hopkinson
Tony Hopkinson

Actually I aren't one. So your point is? I could be a cobol programmer because I am a programmer. If you see this as a problem, you aren't.

mikifin
mikifin

I have been hearing about the death of COBOL for what 40 years? COBOL will be around long afer everyone who reads this message is dead and gone.

sandor
sandor

I started off developing in COBOL on an ICL Mainframe way in the mid 80's, stopped around '95, and picked up again in 2004 using Micro Focus Net Express - even more powerful, and well stable. I'll do it till I die (of old age). BTW I also program in VB.NET, and VBA, and I'm starting on C++ and C#.

cobol
cobol

for 100.000 years and more..!

helder.velez
helder.velez

Cobol is still the best language for its class of jobs. It's not well suited for high interactivity via screens. I do prefer Cobol for huge batch processing. It has a small footprint, rich data descriptors and speed. To me it is highly controversial that it is verbose, Java,C,C++ are a lot more (OpenCobol translates Cobol sources to much larger C sources). We must use the best tool we know to do each kind of job. Unfortunatelly programming languages are sensible to fashion. At work, a huge enterprise, we shifted from Cobol to C++ and PL/SQL by the year 2000. In my opinion the adoption of C++ in this environment was a costly mistake. (I've fluently programed in Cobol, PL/SQL, VBA, C, Pascal, Java, Prolog, Basic, CDE, Assembler Z80) But now that I'm almost pre-historic I must agree that Cobol is near death, even beeing the best for its class of jobs.

kensmalley
kensmalley

I'm retired. If anybody needs my skill set, they would have to pay dearly for it! I have no desire to work for somebody, again, who has no idea what I can or can't do. The thought of going back to an environment of managerial stupidity makes me nauseous. I loved programming, and still do, but I'm glad I'm out of the unrealistic corporate/government IT world. They haven't gotten the "idea" in the last 30+ years, and will be responding to emergencies until Hell freezes over!

Professor8
Professor8

the B-school bozos refuse to let it die because (as with a certain 3-letter acronymed firm that's striven against privacy for nearly 80 years, and decent quality software for nearly 60 years) the acronym has the word "bidness" in it.

DaveSlash
DaveSlash

> According to a 1997 survey by the Gartner Group, > 80% of the world???s business runs on COBOL I admit, the last time I programmed in COBOL was 1987. But, I wonder how much the percentage has changed in the (over) 10 years since this 1997 study. In "technology-years", that's a lifetime. -- DaveSlash

zviko_murahwi
zviko_murahwi

Its a fact. A lot of some of the most stable and reliable applications currently on the market were written in COBOL and are likely to stay - implying COBOL might have to resurrect but will need to coexist with the new languages which seems to be happening well.

ubisse
ubisse

The time for COBOL is gone. I belive that COBOL will survive for some years, but not forever, special when time is OOP.

Elvis.Is.Alive
Elvis.Is.Alive

I had worked as a programmer at Wal-Mart Information Systems for several years, and I can tell that even as late as 2003 I worked on a brand-new project that involved several COBOL programs. I didn't actually write any lines of COBOL, but I did write specs for the experienced existing COBOL programmers on the team.

CougarSylv
CougarSylv

COBOL was the last of the mainframe languages I learned, and because all the other ones I learned were limited in the field naming I got use to commenting extensively. So I hated COBOL, but as my career matured and I had to modify others code whom did not document, I gained a new respect for it, but I don't think that I will go back.

psstarkey
psstarkey

Why must everything evolve? Why can't we just be happy plugging hex bits and bytes into registers and talking to the machines the way they prefer? These poor computers need to know so many languages these days - what about their stress levels with us human programming commandos? Do you think it is coincidence that Terminator movies and TV shows keep popping up over the (now) decades? The computers are trying to warn us that they won't take much more! Simplify people - simplify. ENIAC for president. Out.

brick8952
brick8952

The only problem with COBOL experience is finding a job. I can only get contract jobs in the Boston area. I'd like to continue using COBOL, but it's getting harder and harder. I'm studying .NET and C#.

syminfo
syminfo

I am doing COBOL Progarmming from last 18 years Developed many customised commercial and efficient application into the same. My personal feeling is customer is least bothered about technology they want their work to be done in more efficient and easier manner. Data Handing in COBOL softwares are usually very powerful and fast, I fully agree to your article, and i am proud to be COBO-LOVER and denying the fact about COBOL-OVER. Nitin Kothari Mumbai, India 9867696515

alxnsc
alxnsc

Some investigations show that more than 80% of significant (bank, social sphere, etc.) business data (world-scale) are processed in Cobol. This means that Cobol in spite of all predictions and statements is not dead and has never died. The problem to be discussed is why it is so. I have some simple answer. Cobol is created to be used by highly (to some extent) educated in maths an informatics labour. This labour is not cheap at all. Most of the popular languages are intended to be used by less educated labourers - so it is cheaper. "That is all folks!", but these folk labourers are not to be employed in high responsibility applications. "It is the singer, not the song" - it is the labour, not the tongue...

JackOfAllTech
JackOfAllTech

I started out as a mainframe app programmer in COBOL (a long time ago) and picked up a dozen other mainframe and half a dozen PC languages over the years since. One of the reasons I was originally hired at my latest job was because I knew COBOL and could translate between it and others.

BALTHOR
BALTHOR

It's never done with code.

MGP2
MGP2

Try and find a COBOL class. I programmed in Easytrieve for years and tried to find a COBOL class. It was practically impossible. The one class I did find and signed up for got cancelled due to lack of interest.

SJMcD
SJMcD

with the dinosaur tag. Maybe I should amend it to "old and nearing retirement" :)

dmhunter
dmhunter

We use COBOL for much of our processing. AP, AR, GL, HR, OP, PO, etc. Our COBOL of choice comes from Liant. When compiled, it actually generates an "object" that is interpeted by a "runtime" binary that is unique to for each platform. With this, we can program on AIX, and execute on Linux, Unix, Windows, and many more all with no changes to our source or the compiled "object". Small footprint, minimal system requirements, graphical IDE ( if you care to use it ), reasonable cost. I've been programming for this company for nearly 20 years. I hope to continue until I retire. If they change, I'll change with them. They choose the language/enviroment, I'll make it work.

CharlieSpencer
CharlieSpencer

Short version was about the COBOL programmer who cleaned up preparing for Y2K. He had himself cryogenically frozen with orders to be thawed when we made contact with intelligent alien life. He woke up and asked if we had finally met aliens. "No, but its the year 9999 and we need a COBOL programmer to help with this Y10K problem!"

Tony Hopkinson
Tony Hopkinson

Practically, no Pragmatically, no Economically, no Technologically, open to debate, and even if you plump for yes it doesn't mean squat against the first three. I'd love to see someone march up the the beancounters with a project to replace decades worth, of software, hardware and people, with something untried, untested and unproven across an entire enterprise. The bit where they get to the cost and benefits should be worthy of great attention.

Tig2
Tig2

Is indeed from 1997. But the point of the article addressed present day demand for COBOL programmers and the way they are being used in business today. As respondents have indicated, there is still COBOL in the enterprise. But I agree, it would be interesting to see how much COBOL is still out there.

J B
J B

tell me which company is going to spend the dollars to replace all their COBOL code. It would be hard to justify the expense to replace code that is working. The COBOL code can be extended to be used as services for most web apps. If we don't want to teach / learn COBOL in the states, I'm sure India and China will be happy to take those jobs (oh and probably for fewer dollars per hour). The other alternative is that retiring COBOL programmers will potentially be in Y2K type demand at premium dollar. No one single language has been so universally accepted as COBOL. Nothing against all other languages, but has been stated many time ..... the COBOL death song has been prematurely sang many time. Any one remember SNOBOL.

zhn
zhn

the one true computer language (beyond binary) is the assembler for the target processor. allright, maclibs are ok. i grew up with them all. a challenge: write poetry in cobol. ex: move karma to beautifulorofice. jal = just another language. a programmer is like a plumber, using the best tool for the job.

tuomo
tuomo

Not much today but why assembler is seen more difficult than any other language? And, as others have said, BAL (IBM assembler) is one of the cleanest, most powerful and easiest language I know. When you need a total control (if you understand the problem to solve and the system it is running) it gives you all. No surprises, the code does just what you ask, very clean and easy to read, easy to document, fast, all the low and high level functionality available, etc. Can't say the same when using some obscure libraries or objects which hide everything and may/may not work as advertised. Very easy to debug, write whatever threading or tasking you want, full control over memory management, and so on. Can you say that of any other language?

RFink
RFink

I miss those days too. You can't beat a good L$SNAP. :)

Ed Woychowsky
Ed Woychowsky

I started-out as a BAL programmer on an IBM 3081 running MVS/OS. It was an online system using IMS DB/DC with sub three second response time.

Ed Woychowsky
Ed Woychowsky

IMS? If so, the concepts apply pretty-well to XML/XPath.

TrueDinosaur
TrueDinosaur

I would love to find a COBOL\CICS\VSAM job. I have 30 years in that area. Given modern communications methods I should be able to do it from home. But everyone wants in-house workers. W2 or 1099.

Tig2
Tig2

Nitin- Do you see a lot of COBOL use in India? Do you know if classes are available in COBOL at your Universities? The reason I ask is that several people have noted that finding classes in the US is difficult and I am curious to know if this is true in India.

Dr_Zinj
Dr_Zinj

that I know of was the one I took 15 years ago while I was going to the University of Maryland. And I haven't touched a line of code for it since then. /sigh

ganyssa
ganyssa

in Michigan, you can have them here. We have in-house COBOL classes.

Ed Woychowsky
Ed Woychowsky

Easytrieve was sort of a COBOL lite. A book may be enough for you to learn COBOL.

rhomp2002
rhomp2002

I retired 5 years ago. However, all the systems I supported were written in COBOL and are still in production. They attempted to replace them starting in 2001. They spent a year setting it up. The problem was that the data had to be available for transmission before midnight every night. The best they could do with the PC languages was 6 AM so we were instructed to update them all. I did that and then retired. The PC people are still working on the problem and have now gotten the info available by 3 AM. Looks like COBOL will be around there for a long time to come. All those systems that were in COBOL consist of in excess of 100 programs each and I had responsibility for 5 of them with a team of 3 people. I lined to 7 other systems all with at least as many programs and also with teams of about the same size. Be interesting to see what solutions they come up with to replace the ones I was involved with. They were the core to the business in that sector of the company and were all making money hand over fist while most of the rest of the company has been losing money lately. Question is do you break up a winning hand. I think COBOL is there to stay for the foreseeable future.

rporterf
rporterf

I don't know across all industries, but in the insurance industry where I work, COBOL is still widely used. All of our claim engines are coded in COBOL and even our web front end interfaces with our database through (you guessed it) a COBOL program.

rclark
rclark

We developed a ride sharing vector analysis program in it. Total system cost was about 75K per copy, used a two tower Northstar PC from the U.K. running CPM in 58K of memory with dual outboard 5 meg hard drives. Yes meg. We had to trim the OS down to 58K from the normal 64K that it shipped with in order to leave a whapping 6K for our programs. The cost per copy was too high for congress to approve putting them in every U.S. city. The project was scrapped because the oil embargo ended. But an interesting application. Also used it in 1991 on a medical abstracting software program. Basically just file input/translate/output but it all came back when I saw the code.

Ed Woychowsky
Ed Woychowsky

You just reminded me of something, about two years before Y2K my half brother was asked to teach a six-week class in RPG2. He stated his daily rate, which the company in desperation mistook as an hourly rate and paid him accordingly. Six weeks turned to 18 months, it seems that word got around and found itself in the training business. The only problem, my half brother explained, was that the text book was out of print. Well, at least it was before his order for 10,000 copies came in. ;)

mike21152
mike21152

was in he mid-90's! I was using VAX COBOL. And the DCL was great..just like BASIC! The change to DOS, then FoxPro, then Access was jarring. OOP was a mystery at first until I started realizing it was just a matter of changing properties of an object like a car that's silver to yellow..stick to auto, etc. (OK, oversimplifying here, sorry) Recently, I got nostalgic for some COBOL and bought a SAMS Teach Yourself, to refresh my memory. I got SOO bored after a couple of chapters..sigh. Like using Latin again. I remember also getting a book that taught VB to former COBOL programmers. THAT was cool..! I'm amazed at how valuable the DO UNTIL END-OF-FILE has become for both languages.

RFink
RFink

I have 11 years of programming experience in Cobol, Fortran, Pascal before I switched to administration. The good ol' "top-down" languages. With jobs in Michigan scarcer than an honest politician, I'm serious considering going back to programming.

Mudbug_z
Mudbug_z

How many newbies would understand the joke about why programmers don't know the difference between Halloween and Christmas? (Because 31 Oct = 25 Dec)

NickNielsen
NickNielsen

Even funnier is hearing a student in an industrial robotics course ask "Why do we need to know about Grey codes?"

alaniane
alaniane

was a little ambiguous. I don't care what base my money is in; they better not switch out those stable Cobol programs for some new untried language or I'm withdrawing my money. A good way to take down a bank quicker than Barrings bank is to get rid of those trusty Cobol programs.

r_widell
r_widell

If your currency is based on binary/octal/hex then some of the "more modern" options will probably work just fine. As long as the currency I use is decimal-based, I'd like to see them continue using COBOL (and BCD arithmetic).

ngolden
ngolden

... but I've always wondered over the years how much was gained by redoing existing systems that still worked fine rather than just training some new people to manage them. Truthfully, I think a lot of it had to do with IT managers, CIOs, etc. not wanting to seem archaic being pursuaded that the benefits of newer technology would be well utilized in their new system. There's a certain amount of "buzz' associated with new technology and they wanted to be on the bandwagon. It was "cool". It would cause notice in their enterprise. The cost of conversion generally far outweighed the possible cost it would have been to train new COBOL programmers. As you cite, the benefits were not always realized. Sometimes if it ain't broke, it shouldn't be fixed.

Partner400
Partner400

"Then you must also use an as400, eSeries, iSeries......or whatever IBM decides to call it next, before it finally becomes a dead platform..............." Couldn't help but chuckle when I read this since people have been predicting the imminent demise of the (currently) System i for almost as long as they have predicted the death of COBOL (and RPG). Reality is that if the platform dies, it will not be because of lack of functionality, reliability, or anything else that really matters. It will be because consulting houses (including sadly IBMs own Global Services) can't make enough money by recommending a system that just keeps working and doesn't require a small army to run it. Heaven forbid that we should actually sell the customer the best solution for him as opposed to the one that makes us the most money! It makes me weep when I see the money some customers pour down the drain trying to move off the platform.

bg6638
bg6638

Then you must also use an as400, eSeries, iSeries......or whatever IBM decides to call it next, before it finally becomes a dead platform...............

DaveSlash
DaveSlash

I, too, work in the insurance industry. We frequently use (the almost equally as "dead") RPG. I don't even list COBOL on my resume (since I don't want to ever program in it again). -- DaveSlash

smiller987
smiller987

Being in Michigan (Lansing area), I don't think that going back to programming would be such a great career move. Jobs are scarce. Many of the jobs that do get posted are all actually the same job; often, they are different posts from different recruiters for the same position at one company. I have a shiny new computer science MS (finished with a 4.0 GPA) and about 13 years experience in software development - can't even get an interview.

Editor's Picks