back to article COBOL thwarts California's Governator

Inspite - or perhaps because - of its "difficult" birth, Common Business Oriented Language (COBOL) has become a survivor in the world of computing. That's caused problems when it comes to maintaining systems running the language. COBOL has now taken center stage in the rumbling controversy over the State of California's budget …

COMMENTS

This topic is closed for new posts.

Nothing whatsoever wrong with it

CoBOL is a fine language for what it's used for . What exactly would you replace it with? C which is pure garbage by comparison or VB which is a joke. If it's used for business usage which is payroll accounts stock handling etc then there is no need for anything except CoBOL. I suppose most of the people chiming in have as much of a clue about CoBOL as they do about Forth.

0
0
Thumb Up

COBOL Forever

I know over 8 languages and COBOL is one of my favorites. It can be structured and self-documenting if you have any discipline at all.

I cannot believe that it would take so much money to change the payroll. What do they do when an employee is given a raise?

0
0
Paris Hilton

@All who want to replace COBOL

Bollocks, I say (did I use that correctly, my Limey friends?) Anyway, replacing COBOL applications is really a bad way to go. It is a robust and sturdy language, point obvious by the shear number of applications which still run today (after minor modifications for the 2000 change.) It REALLY IS an easy language to learn and use, once you get used to the draconian restrictions on indentation and essentially writing your programs like you're writing a book (OPPP!)

Best of all, it has not required multiple iterations and revisions over the years to deal with silly things like "a remote attacker can take control of your computer" or "a local user may elevate privileges." Yup, no COBOL-pwnage around these here parts.

I see how this really would be a good time for some consulting firm out there to have someone on staff who knows COBOL, even if just as a hobby*. I hear from people in various industries about all the legacy applications which still run regularly, and how so many of the applications would benefit from some added features or reworks. Hell, with the right tools a PFY fresh out of university (college, for my fellow Yanks) could take on this job and win a Presidential Fitness Award in the new and special category of saving a state's ass with 1337 C0B01-f00.

Anyone search the State of California web site for a job opening requiring said foo?

Paris, requiring special-foo, and she did the People's Poet.

* I wasn't joking in my last post. When I had more time, I had a sorry habit of taking our class programming assignments and coding them in other languages as well: COBOL, ARexx, PHP, and sometimes BASIC. Mental masturbation, I suppose.

Paris, mental... oh, never mind.

0
0

I once wrote a long COBOL program without using if then.

Or goto for that matter. Thirty pages of dense flowchart; took longer to write that than the program.

Why? Well, I was told it was impossible.

COBOL had some fun things that you could do; like playing music on the big line printer.

(All of my programs did the rumba; drove the shop nuts.)

But I was glad to be able to stop writing COBOL code; and PASCAL which I actually did hate worse than any other language out there.

And during the Y2K nonsense I hid under a rock or something.

(COBOL? No, some other John Stepp; I no speeka the picture clause.)

0
0
Thumb Down

do they even have the source code ?

Believe it or not, it is possible that state of CA does not have the cobol source for some of the binaries they are running. Or they are not exactly sure which version of source produced the binaries they are using.

Source code control and library hygiene are recent innovations (compared to cobol) . Much of the code was written by itinerant consultants, long gone and untraceable.

Many mainframe shops STILL do not use source code control.

The first generation of cobol programmers are not retiring, they are dead and buried decades ago. The second and third generation are retiring and laid off.

And a rewrite with "modern" languages is out of the question. Prolog, lisp and ascii white are insufficient to parse the policies of the great CA bureaucracy. The cobol is pure spaghetti because the policies are pure spaghetti.

0
0
Happy

six figure salary

I luv my six figure cobol slary

0
0

Nothing wrong with COBOL

There's nothing wrong with COBOL, it has gotten a bad rap because schools and vendors wanted to push their 'new magic solutions'. Sure it's a little wordy, but, having programmed in COBOL for about 30 years, there's little I've found that I couldn't do with it. I also regularly program in Java, C, C++, C#, Perl, assembler (several different architectures), each has their good points and bad points. If I were to write a Payroll system, COBOL would be the language of choice for me. If I were writing a compiler, the C would probably the language of choice.

As to all that 'spaghetti code', imagine a system written in any language that had been around for as many years as some of these COBOL systems, they'd look like spaghetti as well. Also, since much of the code was written when computing resources were very expensive, hence things like 2 digit years.

0
0
Silver badge
Unhappy

What is El Reg coming to?

All these comments and nobody's done the 'Load of Old COBOLers' joke?

0
0
Thumb Down

COBOL isn't really the problem

Any system that old would be a problem. Of course the thinning of the COBOL programmer ranks will make them more expensive over time, making rearchitecture (replacement) more attractive.

Of course the estimates people are throwing around are criminal. A shameless transfer of government tax money to greedy corporations. We're on record offering to replace the system in question for 1/10th of the quoted cost, and we're able to do that because we have a unique approach. If you're interested: http://www.maketechnologies.com

Or if you want the "gloves off" side of the company: http://gotlegacy.net

Tom

0
0
Paris Hilton

The plot thickens?

You know the pay scales are not hard coded in the COBOL program...

They may be in a database or a data file but it would be dirt stupid to put it in the code (and most the implementers in this environment were anything but stupid.)

I agree with the other posters that this is just being used as an excuse not to do anything.

0
0

Money for old code.

I'm with the `CoBOL is a fine language for what it's used for' and related views. When I did my COBOL training back in the 80s writing a payroll program was one of the exercises. Sounds to me like there's plenty of BS and smoke being used to blind the bean counters, let alone the Governator. After all there's folk's beer money at stake!

0
0
Anonymous Coward

where's the obol?

@Herby, er, you seem to be coding in C?

0
0

Decreasing salaries

The problem isn't simply decreasing salaries; the problem is calculating back pay and taxes on said back pay after reinstating everyone's salary in the future. The code to handle that scenario simply isn't there. Doing it all by hand is obviously not realistic.

0
0
IT Angle

You stupid little arse ...

Anon Coward wrote: "Get rid of that legacy crap."

That “Legacy Crap” will be running banking systems 40 or 50 years from now just like it has since the late fifties and early sixties. Without a DAY of downtime.

You people know NOTHING of maintainable, trouble free code -- which is why every major software project for the past 20+ years has been an increasingly spectacular series of failures.

I too love my 6-figure COBOL salary and I have really very little to do to earn it. I just need to understand cause/effect and the first principle of software engineering: if it ain't broke don't fix it.

LEARN how meaningful and productive software is written before “criticising” it. Not that you are qualified remotely to do so.

0
0
Joke

OK - who is the wizeass that ..

hardcoded all the salary scales into COBOL.

Oops we fired him ....

.

.

.

A few days later ...

Voice of COBOL programmer - I told you - I WILL BE BAAACK!!

0
0
Boffin

Complexity

The complexity of making the change comes from the vast mass of bureaucratic rules and regulations that are encoded in the payroll software.

You can't just cut everyone by a percentage-- the floor is usually the minimum wage, or sometimes 0. Changing a person by a percentage may cause a negative payroll for someone having to fork over child support (for instance), or time shifting weeks, or whatever. The result might also go below a cut line for medical coverage eligibility (try surprising someone with that just before some major medical work).

Most cases are simple, it is the boundary cases that snarl up the change and take the vast majority of the conversion time. There are legal requirements, contractual requirements, common sense boundaries (how long will you work when you have to pay each week instead of being paid?), handling people who have allocated 401K sums in odd ways, and on and on and on.

0
0

Its political

Arnauld is throwing a fit because of a budget impasse but since his hissy fit is likely to hurt a great many people there's a lot of people dragging their feet. They've all but said to him "You want to change the payroll system, do it yourself".

The other reason to drag their feet is that once the budget is set up then they'd have to change the code back again.

COBOL may be old fashioned and clunky but its very reliable. We tolerate failure on a PC because it doesn't really do much except inconvenience individuals. In the real world failure is not an option. Part of this would be a very slow code change cycle -- hours to change the code, weeks to test it. (Incidentally, there's still people out there who program in IBM assembler....... I met one a few weeks ago.....amazing.....)

0
0
Flame

100% Bullshit, 100% Politics.

Someone needs to ask John Chiang how the system that's supposedly incapable of this reduction manages perfectly well to process nice increases in the salaries and benefits of all state workers each year - which is, of course, part of the underlying budget problem.

0
0

I don't get it.

I don't get it... there are several companies out there that provide ready-made enterprise-level solutions for payroll (disclosure: yes, I work for one - we provide various software packages and tailor them to the clients' needs). It wouldn't take $30bn (or in fact $30m) to extract the data from the old COBOL database, buy new hardware and a payroll application and load the data on the new platform.

The "Governator" should point that out to the state's IT staff and then ask again how long they think it would take to fix the payroll codes.

0
0
IT Angle

@ Martin Usher

“COBOL may be old fashioned and clunky but it's very reliable. We tolerate failure on a PC because it doesn't really do much except inconvenience individuals. In the real world failure is not an option. Part of this would be a very slow code change cycle -- hours to change the code, weeks to test it.”

Nope. It takes a day (or less) to re-write entire COBOL subs -- I do it. Its a simple pleasure.

It IS clunky and ever-so-dead-old-fashioned BUT WHO CARES? It actually works especially if you have a clear idea of what the fuck you're trying to say/do.

0
0
Stop

dont blame cobol

...blame system design and politics.

I was a COBOL A/P for 5 years.

(These days I do J2EE so don't start with the "dinosaur" cracks).

And the article isnt wrong. I was involved years ago with a (household name) US retailer. I kid you not we had a whole TEAM manually rewriting the business logic of our payroll system every year due to changes made by federal, state and even municipal lawmakers.

It was feckin crackers. We did the best we could, eg things like tax rates in the database and not hard coded. But how do you get logic like this...

If employee lives in area A but works in area B but spends more than 60 days per year in area C but in married to a woman residing in area B and has children in school in area D and healthcare in A and is in a union and its raining and.....

Especially in the Eastern (smaller) states where its common practice for people to live/work/deal across state borders. Now every year each state would bugger about and change all its rules. And each year our team would swing into action trying to get the whole lot changed and tested before the end of the tax year. Then after the batch run everything would change all over again.

You would have the same if the thing were written in C. Perhaps less so for C++ or Java but not by much.

The mad thing is, they could use SAGE or SAP or something if lawmakers would just do things easily and elegantly but they dont. Instead the US has all these special interests, the result being overlaps in jurisdiction, conditions, criteria and so on that are basically impossible to implement without a gigantic nested "IF". (A conditional what exists en every language I have used). The poor programmers are caught in the middle.

0
0
Silver badge
Joke

op-oinionated

truly transcendent that... loved the pic of an obviously worried governator..

ADD ONE TO TWO GIVING THREE

0
0
Bronze badge

It's not 6 months to change the code....

It's 6 months to put the change request through IT.

0
0
Silver badge
Paris Hilton

Internet rumors 101

Somebody typos $30bn instead of $30m.

Then all the presumably clever posters pick up that particular ball and run with it and have lotsa insightful opinions about those $30bn.

Guys, ever heard of double-checking facts before engaging tongue? 30$bn is on the order of California's state budget, for crying out loud.

Paris, who is cleverer than all but the original typo guy (who made an honest mistake) and the guy who caught him.

0
0

COBOL pronounced bread and butter

I've worked in COBOL for 40 years and there is not much you can't do with it. Still developing tons of software using it. Also did CICS and IBM BAL assembler.

One thing I have noticed about these obsolete dinosaur languages that the young pups want to abolish: NONE of the IT disasters you hear about are written in these languages. And much more software is written in them than in the C like languages,

Yeah, they are not much fun like java and all those. But, young fellas, pay is for WORK not having FUN grinding out code. That was a lesson us dinosaurs learned right off.

Also business apps should be written in a business like language that even the original requestor can read and understand. The bracketed gobbley gook that is the C like languages is indecipherable to anyone but programmers.

Well, Python excepted because its my favorite of that kind because it is the clearest.

What everyone today seems to overlook is that software is a very valuable asset and should be as easy as possible to maintain. It WILL be modified and have functionality added if it is any good.

And my COBOL programs are NEVER spaghetti code. They are so clear any fool can understand them with copious comments in case there are any questions.

Report archive programs I wrote 20 years ago still run every day in Europe, Asia, America and have never gone down even once. Well, maybe once, but that's it.

It is the skill of the artisan that determines the end result not the tools used.

0
0
Anonymous Coward

Re: COBOL.Net

There already is one. NetCOBOL.Net from Fujitsu in the USA, along with a whole raft of emilators (NetCICS, NeoBatch, etc) that let you lift an IBM Mainframe CICS/COBOL installation and move it into a Windows environment unchanged. You can even take your ISAM files with you.

As for managed change, I'm sitting here on my last couple of weeks of a contract, the final VME site here having migrated "successfully"[1] earlier this year. We just got a call from another former client who moved off last year: "We urgently need to read this Mainframe tape on our Unix box". Best laugh I've had in weeks.

1) The usual sorry migration tale. Replace a 90 MIP VME box with a server farm. Get something that runs so slowly that people are working at 30-50% of their previous efficiancy at best. Spend enough money to buy a small country in the process.

0
0

I KNOW COBOL!

I got bored one Christmas a few years back, so I taught myself COBOL.

And I'm only 22, so I'll be around for a few years yet.

Perhaps I should give the Governator a ring? :-) Make meh some moneh!

0
0
Stop

Boycott COBOL now!

You want to get rid of COBOL and all that legacy crap? Then simply boycott any system that uses it - anywhere in its front end or office back end.

That'll be most banks, pretty much all financial transactions (loans, insurance...), many hospitals, local authorities and a lot of airlines and many airports.

Also most road vehicle manufacturers, and the odd website or two.

Let's stop asking other people to get rid of COBOL and set an example. Remove it from your life today.

0
0
Dead Vulture

Cobol is far from dead,

Anyone working in the financial services industry will know how widespread the use of Cobol is. From my experience the majority of the worlds large insurers all run on a Cobol system. Those that have progressed from black and green onto fancy web front ends are stiull running their business processing on a cobol based system. And it's not going to change anytime soon.

As has been said, why change it when they work well ? Cobol systems structured well and to some form of standard should be easily readable and maintainable. I'm guessing this payroll system aint one of those.

0
0
Thumb Up

Young COBOLers

I'm a COBOL programmer and I'm only 28 - and yes I worked on the Y2K problem for a local council at 18.

Only because the college I went to still used COBOL as the higher level language (Pascal in the first year) until 1999 when they switched to VB.

At the time most of the ATM backend systems used COBOL and I'm sure some of them still exist so we do have some demand still.

So how do I apply for my US work permit?

0
0

stil don't get it

Any reasonable competant* developer should be able to learn a new programming language easily. I've never used CoBOL before but having been sent the source to a program could quickly and easily port it to another language. it's practically written in English!

It may take longer to do, but it's not an imposssibility. Although it does raise the question of why code changes are needed just to cut someones salary. Surely any payroll system would have been designed from the start to cope with people having their salary cut? All of the salaries should be held on a database, and all of the code to handle back pay etc, should have been put in when it was first built so the database update should be all that is needed.

*Of course, whether or not reasonably competent developers are being churned out of the universities, or just people who know how to code in <insert language of the month> is another matter.

0
0
Silver badge

Money, money, money ...... helps the Fed go down

"I too love my 6-figure COBOL salary and I have really very little to do to earn it. I just need to understand cause/effect and the first principle of software engineering: if it ain't broke don't fix it." .... By Greg Fleming Posted Thursday 14th August 2008 21:22 GMT

Greg Fleming,

Surely you do not think that it isn't broken, and the COBOL Code not Cracked for Remote Proxy Administrative Use/Philching? Why do you think the Banks have Lost all their Money and Credibility to the Sharks in the Private Equity and Sovereign Wealth Markets who have Effectively taken over the Federal Reserve Money for Nothing and the Chicks for Free System, rendering them as Eunuchs in the Harem.

And as for the Sharks, well they just love their 9-11 figure Funds and unlimited Special Access Programs to All Future Sums. Wake up and Smell the Coffee. IT's Java at ITs Best.

The problem is, of course, that the Bankers have no Idea how to Fix IT with IT for they cannot See what Needs Fixing although they are Bound to Realise that something is Seriously Wrong because they are Losing Wealth, Hand over Fist, whilst Others are gaining IT. That suggest a Lack of QuITe Necessary Basic Advanced IntelAIgents Training aka tasty BAIT and/or a Failure of their Intelligence Networks and/or Both with More Shenanigans and Pain/Ecstasy to Come and On ITs Way.

Or would you posit that the Present Headless Chicken Routine is their Masterful Plan?

You'll have to spell out the Wisdom to me in that one, please, as it completely eludes me.

These are Popular Prescient Words of Wisdom ...... http://tinyurl.com/5ln4s5

I work all night, I work all day, to pay the bills I have to pay

Ain't it sad

And still there never seems to be a single penny left for me

That's too bad

In my dreams I have a plan

If I got me a wealthy man

I wouldn't have to work at all, I'd fool around and have a ball

0
0
Anonymous Coward

Fashionable nonsense

Many of these comments reflect one of IT's worst perennial problems: the ridiculous obsession with fashion. The very first comment in this thread (by our old friend AC, of course) was "Get rid of that legacy crap."

Why? And did he mean "it's legacy and it's crap", or "it's crap because it's legacy"? I strongly suspect the latter. This is the know-nothing, "we're young so we know best" attitude exemplified by Tony Blair with his dismissive comments about the Victorians (who actually invented most of the "modern" stuff he is so proud of).

COBOL, as its name shows, was invented to handle routine business programs such as payroll and invoicing. It's specifically designed for doing calculations with money, keeping records, and issuing bills and reports. And it's very good at that. People who become programmers (or IT directors) in search of fun, intellectual stimulation, or creativity, need to remind themselves that the purpose of business is to make profits; and the purpose of government is to serve the citizens as efficiently as possible. COBOL does both these things rather well, which is why more business software is written in it than in all other languages put together. The amount of COBOL in active use has doubled since 1990 - not exactly a sign of a dying language.

If I could do one single thing to help the IT industry and its users worldwide, it would be to remove the scales from their eyes and let them see clearly the difference between something that's useful, and something that's "new and cool". Other things being equal, the new "technology" always costs more, takes years to become stable and mature, and forces everyone into expensive training and re-equipment. (Which, of course, is why so many people love it).

All together now: "What is the definition of a legacy system? ONE THAT WORKS!"

0
1
Anonymous Coward

APL, anyone?

You wrote: "Many abandoned COBOL in favor of more esoteric and - some would say - impractical languages such as Lisp and Smalltalk."

Not just COBOL...

A few years ago, I was told by a programmer at a major news content-provider that they were rewriting their query engines because they could not find any APL programmers, or even recent graduates willing to be paid to learn it.

0
0
Unhappy

The world's banks run on COBOL

And shutting down the world's banking system would hurt how exactly?

It's not like the credit markets are actually working anymore anyway.

0
0
Happy

the usual

people: we want more for schools - governator: check

people: we want more for roads - governator: check

people: we want more for health - governator: check

people: we want more for pensions - governator: check

people: we want more for parks - governator: check

people: we want more for prisons - governator: check

people: we want more for greenies - governator: check

governator: we need more tax money for all that - people: OH NOES

bless mother cobol, 2nd language i learned after pl1; but why wouldn't the pay rates just be in a bunch of cards to feed in? ha ha ha; arseholes

0
0

30M not 30B dummy! Thats the amount IBM wanted

15B deficit, 30M for IBM to replace it.... Duh!!!! Learn to read...

0
0

COBOL Rocks

COBOL I started with back in 68 and none of the languages since hold a candle to it for business systems. Sure it could be improved but it produced efficient code that just carries on running and contrary to this report easily amended. It's written in English not gobbledygook. Most of the modern languages are crap and cost a fortune in implementation and maintenance.

0
0
Pirate

I'm avaialbe

1978 grad, BS in CS. I still have my COBOL drum card. $350/hr. And yes, Mr. Hitchen, the code is obvious, as opposed to some of the C code I see cranked out these days.

Now APL, there's a language.

0
0

@A W Rateliff

I agree that Cobol has its attractions: close to natural language, no recursion etc. (thank you, Jim Inglis, Birkbeck '91) but I really want to add part of your comment to my collection of English "howlers": "It is a robust and sturdy language, point obvious by the shear (sic) number of applications which still run today". Thanks.

0
0

COBOL

on a keypunch. Now that's quaint laddie.

0
0

grudgingly, other manufacturers

Bullshit.

Burroughs was completly Cobol. Much more so than IBM.

Noone in the BUNCH was grudging in their support of COBOL.

IBM tried to replace it with PL/1.

0
0

Comments on comments

@RW - "but who uses Ada" - Babbage did, didn't he ?

I know an office (which shall remain nameless to protect the guilty) which has loads of Core Duo PCs running XP connected to an IBM "mainframe" AS400 running RPG2 programmes outputting ASCII in 80x24 format !! The programmer who wrote the programmes buggered off after a tiff with the managing director; leaving behind *NO* notes, *NO* comments and *NO* indication of how the damn things work. And everyone dares not "fix" anything in case it broke everything else !!

Legacy !! Tell me about it !!

0
0

It's not the language - it's the design

An inflexible design can be implemented in any language. What would the comments be if the language of choice was Java or C++?

I get scary when so many people forget this basic fact of an IT application.

We easy start to shoot the player - not the composer. How many innocent get blamed? How fast do we loose our basic ability to think? Please wake up.

-cle-

0
0
IT Angle

ADA

Another great programming language, Air Traffic Control systems are written with it. It is fault-tolerant and self documenting.

Can I seriously seeing myself putting my safety in an ATC system written, oh, say, in C or Java? No.

Lots of people use ADA, actually. Again, you get handsomely rewarded for it because you are doing proper software engineering and building fault-tolerant working software.

It isn't a fad. COBOL, ADA ... they just work and I'd never entertain doing serious work with much else, apart from assembler perhaps.

Everything else is quite trivial and doesn't even fit into the same scale of rationality.

I'd make it mandatory for everyone who calls themselves a programmer to be actually qualified in all three of the above. Then software fiascos would just disappear and people would get what they paid for. Once again.

0
0

@conunstradamus

Yeah we used to use a manual key punch for card inserts in a Cobol program deck. Some evil operators liked giving the cards a shuffle if they didn't like the programmer. Odd thing is on a box with 90k of memory and 80M of disk it ran the whole Building Society accounts - go figure. It was one of the few times in my computing life that I actually saw a system that did something useful; in this case saved about 6 months a year overtime doing account books(passbooks) manually. Oh and that was Burroughs; we used symbolic or BPL for those more system orientated tasks.

0
0
Ian
Thumb Down

Am I missing something here...

I was taught COBOL in the late eighties, as I remember it is a procedural programming language, with some fairly simple data types and rather crude data access mechanisms. If someone who fancies themselves as a bit of programmer can't pick up the ropes well enough to be able to read and maintain a COBOL program, I'd seriously question their aptitude for the job. Can't the youngsters handle a bit of data access without SQL or a ORM framework? or can they not handle a system without a mouse, menus and intellisense? I don't want to knock COBOL experts, but it ain't rocket science. Next thing people will be telling me that no one can write decent assembler code any more.........oh, they can't?

0
0
Anonymous Coward

@ Ian

"Next thing people will be telling me that no one can write decent assembler code any more.........oh, they can't?"

Yeah. I can. Its how I started in 1979.

0
0
Happy

Missing Nothing

I originally taught myself to program computers by reading CoBOL source code. It was just a little office system, but I got hold of the source. I had been using the system for a while, and it suddenly came to me - "Hey, I understand what this does".

There was not a code comment in sight, but it had been written in a self-documenting way - "GET_DEPOT_OF_ORIGIN" - guess what that call does.

I'm with the 'if it ain't broke don't fix it' crowd, and also think that CoBOL is unsurpassed in what it does.

I mean, 'C' pointers to functions - thanks but no thanks!!

0
0
Coat

ADD 1 TO COBOL MAKING COBOL

still awaiting the inevitable object-oriented variant. Nothing like an old joke...

0
0
This topic is closed for new posts.

Forums

Biting the hand that feeds IT © 1998–2017