Who says COBOL doesn't get tweaks?
IBM Power/AIX machines get 64-bit support - finally
Some software development projects take a long time to complete, and others seem to take an eternity. So it is, it seems, for 64-bit support for IBM's COBOL compiler for its own AIX Unix variant running on Power-based servers.
IBM has been shipping 64-bit Power-based servers since 1995 (starting with its proprietary AS/400 line and eventually including its AIX-based RS/6000 Unix line), and has had been delivering a 64-bit variant of AIX since 2001. (While AIX 4.3, launched in 1997, could run on 64-bit Power iron, it could do so because IBM's PowerPC processors had a 32-bit compatibility mode, implemented in hardware, to run legacy code, such as AIX and its applications.)
More than seven years ago, when IBM went 64-bits with AIX, the company was equally significantly reading its Power4 dual-core processors and the related "Regatta" server line that not only put IBM on the map in Unix, but paved the way for Big Blue to become the revenue leader in Unix servers that it is today. (Hard to believe, but it did happen, and Hewlett-Packard and Sun Microsystems now play second fiddles in revenue market share.)
Through all of this time, though, IBM's COBOL for AIX compiler has been relegated to 32-bit memory addressing. Crazy, right?
This week, IBM delivered COBOL for AIX V3.1, which sports 64-bit application development alongside the older 32-bit mode that was still the way to code COBOL apps on AIX back in 2004, when COBOL for AIX V2 was launched. (Back then, with V2, IBM added a Java-like, object-oriented syntax to COBOL and support for XML and its own DB2 8 database, which were in their own ways a big deal.)
The V3.1 release of COBOL for AIX now supports VSAM and STL files (these are flatfile formats that predate relational databases that are still commonly used for COBOL applications), but also includes a V2 compatibility mode for smaller STL and VSAM file so customers don't have to recompile legacy COBOL applications even if they do want to use larger files with new - yes, new - COBOL applications.
COBOL for AIX V3.1 runs on Power Systems machines that have AIX 5.3 or 6.1 running on them.
What will the COBOL compiler team think of next? And how long will it take to deliver? ®
If it's even moribund
then isn't it perfectly reasonable for IBM to add new features to more popular languages and program products first, and leave updating COBOL for last?
My aren't we snooty
First editorial correction: VSAM is certainly not a "Flat" (usually read as sequential) file system. However, it is most assuredly NOT a database. It does support several different types of organisation, which I could detail but no one reading this that doesn't know it already would care. Point is it is arguably the fastest way EVER to get at your data --- ASSUMING you know how you want to get at it. It would be unimaginably dreadful for most any data mining sort of operation. But I worked on a system where the decision was made to use VSAM over DB2 simply because there was no rational need for a database and VSAM is MUCH faster. Not to knock DB2, or any other database, it simply provides far fewer options, and until someone invents a free lunch it will always be faster. Are relational DBs fast enough? Usually yes, but they are not the only game in town. "When all you need is a hammer, sometimes a hammer will work just fine!"
On COBOL, it like all other languages has it's good points and bad. It's single greatest detraction is that it has about a -1.628E30 cool factor. As pointed out the installed base is gigantic, shrinking, but gigantic and will probably be with us for at least 20 years, maybe 50.
As procedural languages go, it is actually among the best in the world. (There's your flame bait right there.) It never ceases to amaze me that anyone ever thought writing a business program in C was even a workable idea. The mere concept of business means the computational heavy lifting is that sometimes you get to subtract as well as add! But mostly what you do in business, even the mighty Inter-web ( :P ) is move known quantities of fixed length character data about: disk to screen, screen to paper, etc etc. Rinse and repeat 700 billion times. COBOL is uniquely suited to that task. C, which lacks the concept of a fixed length character string stands out as the worst (mainstream) language ever for this purpose. And of course you can write remarkably repugnant COBOL. And yes I still have a sore spot about the repugnant C to which I was subjected. But if we're going to rant let's rant about something really dreadful.
Given all this, I am very glad to be rid of COBOL. I am very much more glad to be rid of C. C++ was a lovely prototype of what an OO language probably shouldn't do. What Sun did with Java is miraculous. It is however, contrary to this decade's belief, not the evolutionary culmination of computer language, but it is DAMN good. Better than COBOL, (OO COBOL is a true abomination of nature) and WAY better than C.
In many way's it is good that IT doesn't live in its past. It's what I like so much about this industry. It reinvents itself every 10 years. But not every new idea is a good one, and not every old idea was folly. COBOL was (is) an important tool of business. And business is not "cool" it is pragmatic, pondering, and pays for this entire quirky experiment we call life.
The Mark Twain of programming languages...
...because reports of its death have been greatly exaggerated!
I'm a bit of an old geezer, started working in IT in 1979, and the the first language I learned was COBOL. I remember being worried at the time that I had taken a wrong turn with the job because the trade press was full of stories that COBOL was finished. 30 years on I read this story. Life in the old dog yet!