Oct 16

Nat Torkington

Nat Torkington

Cobol: The Undead Language

Computerworld reports that Cobol is far from undead: they surveyed IT managers, and 62 percent actively use Cobol. Scary statistic: about 58 percent of those using Cobol are creating new programs in it. The future news is that twenty five years from now, we'll all be saying the same thing about Java: "what? I thought that died in 2010 when IBM switched to Haskell! Oh no, banks are still writing Java code—and their new programmers only want to use Smalltalk. We can only hire 50 year olds to program in Java! Thank heavens all those Indian programmers from the offshoring boom of the early 2000s are looking for something to do to cover the cost of Chinese lessons ...."

And there'll still be 5% of the marketplace saying of whatever new language is being created, "of course, this was first done more elegantly in Lisp."

tags:   | comments: 13   | Sphere It

Previous  |  Next

1 TrackBacks

TrackBack URL for this entry:

» Cobol, le re-re-re-re-retour from Phoceis, logiciel sur mesure, réalisation de site internet, SSII basée à Lille (59)

Je me souviens de mon premier stage en entreprise, alors que j’étais en première année d’Ecole d’Ingénieur. En 1998, chez Bull Marseille, pour un travail sur un programme qui n’allait pas passer l’an 2000 (si, si, souv... Read More

Comments: 13

  Anonymous [10.16.06 01:00 PM]

> And there'll still be 5% of the marketplace saying of whatever new

> language is being created, "of course, this was first done more

> elegantly in Lisp."

And the truly sad part is that they'll probably be right.

  Dave [10.16.06 01:43 PM]

The 'problem' with COBOL is that it won't go away while there are so many billions of lines of it in big-iron applications. While these apps are running it makes economic sense to keep the number of skill sets at a minimum and do the new stuff in COBOL as well. Rewriting (into anything) is tough, anyway if it ain't broke.......

While 4GLs have attracted interest from COBOL shops good old COBOL has still to be the easiest thing to maintain. Most senior IT people won't have looked at a line of COBOL in twenty years but I'd bet could understand almost anything put in front of them.(caveat: excluding the ALTER statement ) Can anyone say that about C?

Grace Hopper Rules!

  Mz K [10.17.06 10:55 AM]

Oh my! COBOL, the zombie for the ages!

And even more hilarious, since before this little post I'd never heard of Haskell, I thought perhaps it was a programming langauge named after the every quirky Eddie Haskell! Ha!

Fun stuff.

  keith ray [10.17.06 01:31 PM]

The real problem with replacing COBOL is that new languages don't do everything that COBOL environments can do. With the appropriate class libraries, Java or Smalltalk could do it all, but probably not right out of the box, and probably not running on those Big Iron boxes.

Maybe someone could make a "New Cobol" (like "New Coke" but better) with a nicer, up-to-date syntax, so that people could write "x += 1" instead of "add 1 to x giving x. (which is all I remember from learning Cobol in college 20 years ago.)

  Bruce Hoult [10.19.06 12:03 PM]

What's wrong with ALTER? It's used for exactly the same things as function pointers are used for in C -- to choose from one of a set of similar operations at runtime, without having to have the overhead of an explicit test for every data item.

COBOL is a horrible, horrible language (I programmed in it in the early 80's, before moving to PL/I, then Object Pascal, then C++ in 1989) and you would not want to try to write a compiler or a GUI program in it.

But, y'know, it's perfectly fine for a certain class of applications, which is for making small simple processing steps in a transaction-oriented system where the tricky stuff relating to communication, concurency, integrity etc is handled by a higher-level framework. Such as, oh, CICS. Or Tomcat.

It might be crap, but it's no worse than PHP. And one hell of a lot easier for talking to databases than the crud you have to do in Java.

But we really *should* be using Lisp. Or at least something that is 99% Lisp, but easier to read, such as Dylan.

  martin english [10.23.06 01:52 AM]

To expand on what Bruce said above, COBOL is a domain specific language. But, it was not designed as a transactional language. It was designed to process humoungous numbers objects called 'records', back in the day when IT was called DP (where the D stood for DATA). And it was designed to run on hardware that had more smarts and memory in the IO channels than 'onboard the CPU' (quotes because the CPU was cabinet bigger than most walk in freezers).

oh, and an object oriented version of COBOL would be interesting but pretty pointless ... after all, there is really only one object in COBOL - a record; everyting is an instantiation of a record.

  anonymous [01.01.07 06:58 PM]

Interesting comments, since Sourceforge and Freshmeat both have many active COBOL or COBOL-related projects going. As for OO COBOL, the Brit company Micro Focus has a whole suite of products for it. Others probably do too. Gartner says the COBOL code base is growing at 5.1 billion lines a year. Verbose or not, that's a lot of code. Banks, phone companies, credit card companies... I'm not a COBOL partisan. Just saying it doesn't seem much like a dead language to me.

  Joseph James Frantz [08.18.08 01:12 PM]

COBOL was first dead in 1975. Then '80, '85, '90. About '95 it got a lot of press due to the year change over. After '01 it was *again* dead.

We will keep hearing every so many years how COBOL is dead. But we never hear the question "Is A-0 dead?" Wanna know why? Because it IS dead. No need to keep making a claim over and over about something that's dead.

Dave hits this nail on the head with a great big giant sledge hammer. Twenty years from now you will be able to maintain a COBOL program. Even your own C code you'd not be able to fix if you've not touched it in that time.

COBOL Rules? Yes, nice and quietly getting the job done.

Grace Murray Hopper, I salute you. Well, I would if I had been military and worthy to do so. So instaed I just sorta do whatever a civilian would do when a rockin military type person like yourself who has changed the world, is around.

  Peter [08.19.08 07:52 AM]

I love these misconceptions about COBOL. COBOL was a great language and still is but...

am a fairly recent graduate, and guess what I got my first job as a COBOL
developer. I have been a COBOL developer for three years since graduating.
I can truly say I wish I stayed away from COBOL and so should all you recent

It really doesn’t matter whether or not there are 70 billion lines of COBOL
and all that other stuff; if you can’t get a job in this area (trust me I’ve
been looking). All you have to do is type COBOL in a job search (and there
we have it – the last time I got 100 hits) – “COBOL IS DEAD” if you want to
get a job. When you narrow down your search to say London and you only get
about 12 hits – so if you want to work as a software developer stay away
from COBOL.

It really doesn’t matter if some developer says “COBOL is not dead, I’ve
recently got a job in COBOL”. These people probably been programming in
COBOL for a life time (that’s like 25 years) so you are competing with these
guys for those handful of jobs.

It really doesn’t matter if one says “there will be plenty of jobs when
these old people retire and a company will give you loads of money if you
have COBOL experience”. They may give people with COBOL skills loads of
money to fix a bug but how often do these bugs cause faults (remember if its
working don’t touch it). So you maybe sitting unemployed for years before
anything goes wrong, waiting for your one off big contract payment (sounds
like too much of a risky investment).

Anyway I’ve been looking for work out their and finding it very hard (almost
impossible) to find a job. I am a First Class graduate and have a Masters
and even with these academics three years of doing COBOL has crippled my
chances. I wish I had not done COBOL and stayed with the skills (what you
should be learning at university) that have jobs. I have got 3 years COBOL
and someone has 3 years of Java or C or C# etc.. so I am out of the
competition when looking for jobs. Don’t listen to those that say it don’t
matter what the language is (because it does), all you have to do is look at
the job specs (they generally mention the programming language because it
really does matter).

I am now hoping to build on those skills at university and then will keep
trying to apply for jobs. I am also hoping to do some courses to refresh my
knowledge in areas I have neglected over the last three years (which from my
experience you don’t get from COBOL and my opinion is this language should
not be taught at university). Certainly its IT and you have too keep up
with recently skills set (that’s RECENT!! skills set), but why get into the
position I am in and many (I hope not too many) recent graduates may be in.

I know this is very negative and may not read well, but COBOL has made it
very difficult for me to forward my career and I really don’t want this to
happen to any other graduate.

Basically “COBOL is truly dead” if you look at it from the perspective of
your career. Go out there, do the research and see the truth for yourself !!

  Peter [08.19.08 08:03 AM]

Don't listen to these people that say it not. Research yourself and you shall see the truth.

Only takes a few minutes.

1. Imagine yourself with 4/5 years experience with COBOL and see what are your career opportunities.

2. Then do the same with Java/C# skills set is simple as that.

Also after this - consider looking at a proper graduate course that doesn't teach COBOL at all. No point in learning it if there are no jobs.

And yes no point in it at all as COBOL programming skills are less transferable. Write a for loop in C and you can write one in Java, C++, C# etc... This is just one such example.

"Everything man made gets replaced one day".

  Paul [08.19.08 08:57 AM]

Things gets better or do we still use Archie?

Good posts Peter.

A long retired COBOL developer now using google.

  Danny [09.08.08 06:11 AM]

When reading the comments a couple of times is being suggested that object oriented COBOL is useless.

This is simply not true. Object oriented COBOL bridges the gap between the old procedural programming environment and the modern age of object oriented modelling.

The fun part of OO COBOL is that it offers the possibility to retain complex bussiness rules encapsulated in the old mainframe sources and re-model the architecture of the applications to make them fit in the modern world of .Net (just to name one).

These are not simple processes but when using the right tooling the legacy applications can become agile and up-to-date with far less risk and costs then rewriting (if at all possible) would require.

Just my 2 cents worth.

A not retired COBOL developer addicted to .Net

  Baruch Atta [09.15.08 01:05 PM]

COBOL - let's see. Object Oriented COBOL became part of the official CODASYL specification in what, 2002? Something like that. So, you can buy the compiler from IBM and use OO COBOL on your mainframe.

Is anybody still using FORTRAN (now there is language that sucks) or VI, the impossible text editor?

COBOL is a language that is so damm easy to learn, and is so efficient, that it is surprising that everyone is not using it. You want a difficult to learn and use language, try Java 2 ver 4 or 5 or 6. All you techies that get a hard-on in doing something really gnarly and esoteric and spaghetti-ish will hate COBOL. But if you want to just do the job, straightforward, then its COBOL.

Has anyone caught this..."Computerworld reports that Cobol is far from undead:..." I think that they mean to say "...Cobol is far from dead...".

Post A Comment:

 (please be patient, comments may take awhile to post)

Type the characters you see in the picture above.