Don't Count Cobol Out 274
Hugh Pickens writes "Although Turing Award-winning computer scientist Edsger Dijkstra once said, 'the use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense,' Michael Swaine has an interesting entry to Dr. Dobb's Journal asserting that Cobol is the most widely used language in the 21st century, critical to some of the hottest areas of software development today, and may be the next language you'll be learning. In 1997, the Gartner Group estimated that there were 240 billion lines of Cobol code in active apps, and billions of lines of new Cobol code are being written every year. Cobol is a key element in the realization of modern distributed business software architecture concepts — XML/metadata, Web Services, Service Oriented Architecture — and e-business."
Still taught in schools (Score:3, Interesting)
Baby Boomers + COBOL (Score:2, Interesting)
As a younger person in the world of IT, I question how much longer things like COBOL survive. My theory is that with the aging Baby Boomer population, those IT managers will soon head off to retirement. Younger folks will look at that COBOL as something that needs to go and with Bob gone, we can slowly bring that system to the 21th century.
As an aside, /. had this little quote at the bottom of the page when reading TFS: "senility, n.: The state of mind of elderly persons with whom one happens to disagree." I thought it was fitting.
Re:Another one? (Score:5, Interesting)
I absolutely agree. There is a lot of new COBOL being written, but it is usually done to enhance existing systems.
I am currently on a project at a major insurer on a system that is about 90% COBOL. Over the nextre year most of the Batch functionality will be replaced with smaller Real-time enabled called routines running as headless transactions in a CICS region.
The code base will be greatly reduced because the majority of the field validation is being moved into the new front end web app from the old COBOL based CICS green screens and the Nightly batch routines. The COBOL code will just wait for messages to show up over the Queue and either update, create, read or delete things in DB2.
The software system is really pretty robust for a Mid-80's era design. It has no central database, each separate portion of the company processes transactions in a distributed peer to peer fashion. Quite advanced for mainframe systems of any era let alone when PC's were just breaking into the 16 bit cpu and greater than 640 k era.
Mainframes are much cheaper now as well. The models produced by IBM today run on air cooled power PC CMOS design chips and start in the $300K range (and go way up). Paying for comparable computing power on an Intel based platform would cost less, but if you start demanding the 9 nine's of uptime that mainframes deliver the cost of the high availability Intel based machines goes way up and you get into the $250K range.
People used to believe that 'network' computing would kill the mainframe. Now the mainframe is just a part of the network.
Re:ROI (Score:4, Interesting)
Re:job market (Score:4, Interesting)
Maybe you shouldn't count COBOL out in terms of it still being used in the business world, but I sure wouldn't base any career decisions around it.
Re:Why is Cobol hated? (Score:3, Interesting)
Re:Why, what trendy buzzwords you have. (Score:1, Interesting)
I am of the opinion that sinister-sounding acronyms like COBOL are a lot cooler than all the cutesy names we have today. "Java"? Ugh.
Re:Cobol defeated da Terminator (Score:5, Interesting)
Dear younglings (or oldlings):
If you want a REAL challenge, forgot cobol. Try programming an Atari 2600 gaming console. You have just 128 bytes of RAM to create a playable video game. (No that was not a typo... 128 bytes.)
I tried it once.
I gave up.
It gave me new respect for the original Atari geniuses who created playable versions of Space Invaders, Missile Command, Cosmic Ark, and Jr. Pacman, and turned a cheap console into the #1 system of its day (1977-to-1984).
Re:Another one? (Score:3, Interesting)
Dijkstra was not known for being conservative in his statements of opinion. His "GOTO considered harmful" essay did a lot of good, but it also did quite a bit of damage. To the point where we ended up with a variety of "considered Harmful" Considered Harmful essays.
(I wonder if ""Considered Harmful" Considered Harmful" Considered Harmful is soon to follow? Oh wait. That already happened in '87.)
Typical COBOL developer. That's so last century. Don't you know we call them Anti-patterns now? Get with it already!
(Moderation Hint: This was a tongue in cheek joke not a troll).
Re:Cobol defeated da Terminator (Score:4, Interesting)
The Atari 2600 isn't that hard. It may be limited, but the 6502 is actually a pretty developer friendly architecture. Modern debuggers like the one in Stella can make the process pretty straightforward. (Though I would never dispute the challenges posed by cycle counting in an effort to get better graphics out of the system!)
If you want a real challenge, try programming the IBM PC in assembler sometime. As in the original systems from the early 80's. It won't take you long to start swearing at the stupid memory segments with their stupid memory models all focused on stupid interrupt calls that are stupidly undocumented! GAH! To add insult to injury, try 80286 protected mode. (Hint: It never actually worked.) For even more fun, try dealing with EMS and XMS memory using a DOS compiler. Yay! How fun! How wonderful! How challenging! And not in a good way!
Stupid PC. It's amazing that we let it become the dominant platform. (Though in the defense of us geeks, a modern PC does look a LOT different than those beasts of yore.)
Re:ROI (Score:5, Interesting)
Anecdotal.
Properly written COBOL is as flexible as anything else.
Badly written COBOL isn't flexible--just like every other language.
"COBOL isn't very quick to write, what can be done in 50 lines of COBOL can be done in 30 lines of C, and about 20 lines of Python or Java."
and 1 line in perl.
Where do you get your numbers. I can do things in 20 lines of COBOL that would take 100's of lines in C.And it performs faster then those languages. When you are doing millions of financial calculations and hour, you need reliability and rock solid performance.
Re:Bollocks (Score:3, Interesting)
I guess someone who quotes Gandhi showing off his complete ignorance shouldn't be expected to know the many new COBOL apps are used, and there are some very widely used enterprise systems that sue a language very similar to COBOL.
Re:Cobol defeated da Terminator (Score:3, Interesting)
I believe mikael intends to refer to Atari 2600 BASIC [atariage.com]. It was limited to 9 characters per line and that only worked because it flickered like mad. Crazy, crazy idea. The 2600 simply didn't have enough hardware to generate a text display, even if we assume that cartridges could use superchips for an extra 128 bytes of memory. 2 sprites per scanline just isn't much to work with.
The Atari 800 was a much more sophisticated piece of hardware with support for many more sprites, tillable backgrounds, and a full text display. (Most programmers don't think about it these days, but there is no real-world difference between rendering text and rendering background tiles in a game. That's why backgrounds showed up in video games. Because they needed text displays!)
Re:Another one? (Score:1, Interesting)
COmmon Business Oriented Language, COBOL.. I was first exposed to this abomination in college in the eightys. My exact words were WTF!.
Teacher said,"It's so businessmen can understand it." I said."So let the fuckin' MBA's program in it," and went back to Pascal.
Love,
Steve
Re:Cobol defeated da Terminator (Score:4, Interesting)
It was an improvement as our programs became more memory strapped. That didn't mean that they weren't a bear to program. Heck, they were a bear to use! No one remembers it anymore, but we used to have to create boot disks for nearly every game just to get all the necessary drivers loaded while simultaneously leaving enough low-mem to run the program. It actually got to the point where I was putting a boot disk in the box of each game I purchased.
DOS Extenders did eventually get good enough to where the game effectively loaded its own Operating System. After that, you didn't care how much low memory there was. But man, was getting there ever a pain!
Re:Another one? (Score:5, Interesting)
Yes and no. In the financial industry, for example, COBOL mainframes hang on primarily because their reliable.
BS. In the financial industry COBOL mainframes hang on because they're PAID FOR.
Almost. The mainframes are definitely not paid for (we continue to lease and upgrade our mainframes), but the COBOL code is.
Mainframes hang on because they have a huge legacy base of working code. Replacing all that is seen as a giant expensive effort for no immediate gain. And because we have more and more work to do with that data, we keep adding more and more code to the legacy base.
It'll take a mandate from on high to get us to stop adding to the morass. And that's not forthcoming, because honestly the COBOL work is still as cheap as anything else, especially for the giant record-oriented processing work that we ask of the beasts. They may not be glamorous, but their ugliness is well understood, and has a stable price tag.
Re:Still taught in schools (Score:4, Interesting)
Perhaps you should be grateful that they're teaching you at least one commercially viable language.
When I was in school, we learned several languages that have only microscopic utility in the business world today, and many that exist now only in moldy documentation and hazy memories. Trust me, SNOBOL and PL/1 are not going to get you in any doors. FORTRAN might get you into a few aerospace industries (the kind where the engineers still wear slide rules on their belts.) Pascal morphed into Delphi, and yes, there are jobs for those people (or so I hear.) LISP may still be big (in the (parenthetical (world)) of AI), but good luck finding that job. And I learned half a dozen assemblers for architectures that have now been out of production for over 20 years. Most of today's commercially valuable languages weren't even invented back then: C++, Java, Smalltalk, or any of the .Net flavors. They didn't even teach us C because it hadn't reached our school yet.
But they taught us COBOL. What other languages have you had to take that you know will still be in use 30 years from today? :-)
Re:Cobol defeated da Terminator (Score:3, Interesting)
By the time of DOS 6, I found a different solution:
I set up a config.sys menu that set up the system the way I wanted it to run.
It had generic entries (XMS, EMS, Clean) and game-specific entries.
(It even had sub-menus and entries to go back to the main menu)
You could even pick up the current Config.sys mode in your autoexec.bat and automatically start a game!
Cobol is rock solid. (Score:1, Interesting)
I'm a former mainframe cobol programmer, I've been writing VB windows applications for the last 10 years.
I always tell people, the next time you swipe your debit/credit card to buy something there are millions of lines of cobol code making that possible, from the authentication code you immediately get back to the monthly bill you'll receive in 30 days. Mainframe Cobol is rock-solid-stable, damned reliable and in the long run, much cheaper than any large VB application I've ever seen.
COBOL on .NET with GTK# (Score:3, Interesting)
This pretty much blows my mind:
http://www.sorn.net/media/photos/blog/cobol-gtk-sharp.png [sorn.net]
The compiler here is called Wildcat, and it's a .NET compiler (runs on the CLR).