Any of our IT folk still able to code in COBOL?

I can, but they're actually just looking for volunteers.

This is probably routine maintenance they need, but now with the virus around this may be a way for them to get someone to work on their COBOL code without having to pay $500k/yr...
 
I programmed in COBOL from 1975-1980. It's a dirt-simple language without much in the way of advanced capabilities. Anyone who is used to single-threaded code would find it pretty easy to navigate. But maybe the single-threaded code part is what's keeping people away.
 
They better hope they still have a COBOL compiler on the machine.
 
Some one could make a quick few million $ by writing a COBOL to Python converter/compiler. Not I though. :(
 
Some one could make a quick few million $ by writing a COBOL to Python converter/compiler. Not I though. :(

Blasphemer! (You're probably right, though I'd probably choose Java as a target.) But, yuck. Not a project I'd want to take on.
 
Fortran was already a dead language when I learned to code in it. The only reason the school decided to require it was because some of the old hydraulic routing programs were still written in it.
 
I did in in college for my CS degree, I doubt I remember much unfortunately.
 
Should I be surprised that a necessary system has never been updated to a more modern code?
 
Should I be surprised that a necessary system has never been updated to a more modern code?


I am amazed that someone involved in aviation would ask such a question about a government system. We're still flying with engines that were designed more than half a century ago and talking over amplitude modulated radios.
 
The people who know it are in the demographic that they shouldn’t go anywhere near a government building.

“Let’s see... your payroll system you refuse to update is going to die... or I am?”

Kill it. Kill it with fire. Nuke it from orbit just to be sure.
 
The best day of my life was when I removed COBOL from my résumé. When that was on there, 90% of my calls were for a small job to fix an old system.
When I worked for the USAF I took old systems and duplicated their functionality in C for Windows (with the back ends on UNIX boxes of various sizes.)
 
Fortran was already a dead language when I learned to code in it. The only reason the school decided to require it was because some of the old hydraulic routing programs were still written in it.

My intro course to programming was in FORTRAN as well. How did we input things into the system?

fortran.gif


Woe to he who dropped his card deck.

We'd put them in the card reader, then have to wait some number of minutes for the printer to spit out our program and its results on this stuff:

41u12ee4fDL._SX300_.jpg


Usually what it told you was that you'd made a syntax error.
 
My Mom's neighbor is a contractor for the Defense Logistics Agency and other Defense finance agencies here in Columbus, OH. He told me that they still use COBOL because they can't replace the hardware for some reason.
 
My intro course to programming was in FORTRAN as well. How did we input things into the system?

fortran.gif


Woe to he who dropped his card deck.

We'd put them in the card reader, then have to wait some number of minutes for the printer to spit out our program and its results on this stuff:

41u12ee4fDL._SX300_.jpg


Usually what it told you was that you'd made a syntax error.
BTDT
 
My Mom's neighbor is a contractor for the Defense Logistics Agency and other Defense finance agencies here in Columbus, OH. He told me that they still use COBOL because they can't replace the hardware for some reason.
... because newer hardware means they'd have to license a new COBOL compiler, and their ancient source code won't compile cleanly, and they'll need to find programmers willing to fix it...
 
... because newer hardware means they'd have to license a new COBOL compiler, and their ancient source code won't compile cleanly, and they'll need to find programmers willing to fix it...
Can't virtualize the hardware?
 
Can't virtualize the hardware?
Probably not. Depending on what it's running on... VMs probably don't exist for that kind of hardware. Even if there's some homebrew one-off VM project, remember that open source code with no vendor support contract is simply not an option many companies and most (or any) government agencies will even consider.
 
It's kind of amazing that 20 years after Y2K all these ancient systems and programs are still in use.
 
Should I be surprised that a necessary system has never been updated to a more modern code?

If you saw how long ATC ran IBM 360s or some of the other stuff they have/had, you would have no surprise at all.

My intro course to programming was in FORTRAN as well. How did we input things into the system?

fortran.gif


Woe to he who dropped his card deck.

We'd put them in the card reader, then have to wait some number of minutes for the printer to spit out our program and its results on this stuff:

41u12ee4fDL._SX300_.jpg


Usually what it told you was that you'd made a syntax error.

I wrangled a VM/CMS account in college. Made it SO much easier. And if the prof wanted the card deck, it was a simple print command.
 
I'd rather work on COBOL than work on C that was written by a COBOL programmer who never learned what a pointer, or even a proper function is. Holy crap, that's some bad code. I printed out a program once when my boss asked me to review it to see if we could reuse any of it. I seriously thought the print queue screwed up because the same 100 lines of code were in the stack 30 times, but it turns out the programmer just kept copy and pasting instead of writing a function. In his defense there were more comments than there was code. (No, that's not really a defense)

But, you'd have to pay me a LOT, up front, to consider doing either.
 
Probably not. Depending on what it's running on... VMs probably don't exist for that kind of hardware. Even if there's some homebrew one-off VM project, remember that open source code with no vendor support contract is simply not an option many companies and most (or any) government agencies will even consider.

IBM makes virtualization for the old mainframe stuff. The problem is cost. They know they have a captive audience. But the hardware and software is actually incredibly cool.
 
Dumb question - why would this be limited to IT folks (per the thread title).

I am positive I could figure out COBOL very quickly after learning/using so many other languages. The hard part (as mentioned earlier) would be how to actually get at the code and edit it. I bet that sucks. I've been working with Linux again lately (command line yuck) and I can't stand it after using modern tools.
 
Frankly, I'd charge a lot less to start gathering requirements and building what they really need from scratch.
 
Dumb question - why would this be limited to IT folks (per the thread title).

I am positive I could figure out COBOL very quickly after learning/using so many other languages. The hard part (as mentioned earlier) would be how to actually get at the code and edit it. I bet that sucks. I've been working with Linux again lately (command line yuck) and I can't stand it after using modern tools.
ROTFL. If you think linux command line is yucky, you wouldn't last 5 minutes with Cobol. Even the newest flashiest IDE isn't much faster than vim if you know what you're doing. Don't get me wrong, the new IDE's are nice, but I'd hardly notice if you took it away and I had to use vi. Kinda like going from glass panel back to steam gauges.
 
I programmed in COBOL from 1975-1980. It's a dirt-simple language without much in the way of advanced capabilities. Anyone who is used to single-threaded code would find it pretty easy to navigate. But maybe the single-threaded code part is what's keeping people away.
I have a hunch that the single thread model is pretty low on the list of reasons why COBOL never survived. I can see why the Pascal variants (ADA, Modula, etc), C/C++ (low level) and C#/Java (byte code) won out.
 
I'd rather work on COBOL than work on C that was written by a COBOL programmer who never learned what a pointer, or even a proper function is. Holy crap, that's some bad code. I printed out a program once when my boss asked me to review it to see if we could reuse any of it. I seriously thought the print queue screwed up because the same 100 lines of code were in the stack 30 times, but it turns out the programmer just kept copy and pasting instead of writing a function. In his defense there were more comments than there was code. (No, that's not really a defense)

But, you'd have to pay me a LOT, up front, to consider doing either.

Oh does THAT bring back some painful memories!

When I was first introduced to C and UNIX (version 6. Yes, that long ago. Predates and standard libraries for C.) I had been writing some Pascal code on Digital Equipment Corp RSX-11. The non-pc explanation of the differences went as follows: "Pascal and RSX-11 are like a virtuous woman. You have to play by the rules and you still may not be able to do what you want. C on UNIX is like a loose woman. You can do anything you like, but if you catch some horrible disease, that's your problem."

Picking up C written by a FORTRAN programmer (or COBOL for that matter) can be a harrowing experience.

Conversely, picking up a C program written to do much of what C++ does but without the OO constructs (particularly late binding) can be a debugging nightmare as well. I spen 3 years working on a C system that had some 1.2 Million LOC (actual executable statements, not just source file lines) and in excess of 1000 libraries which were constructed to be late binding variations of essentially instances of classes. It started out as an elegant design but had been maintained for over a decade by large groups of programmers with varying levels of expertise. I can tell you some stories...

I, too, would have to be paid a lot for such a project.

John
 
Frankly, I'd charge a lot less to start gathering requirements and building what they really need from scratch.

It'd be easier. Assuming they know the requirements. I've inherited a number of old Ada programs over the last several years. What doesn't surprise me any more is that there is knowledge encoded in that software that nobody remembers. Until you "fix" it and we rediscover why that bit is there. Some of it's wrong. Some of it's right. But nobody remembers all of it. And they're too big to practically reverse engineer from source. (And, of course, the documentation is sort of loosely reminiscent of the system.) But the existing system works. And the users know how to work around the bits that are wrong. So we keep them limping along...
 
Yeah, I just threw out a bunch of code that I felt was over-complicated and rewrote it from scratch thinking "now I know what I didn't know first time", but by the time I got it to do everything it did originally it felt over-complicated again....
 
Yeah, I just threw out a bunch of code that I felt was over-complicated and rewrote it from scratch thinking "now I know what I didn't know first time", but by the time I got it to do everything it did originally it felt over-complicated again....

Sometimes it turns out the problem is complicated...
 
My intro course to programming was in FORTRAN as well. How did we input things into the system?

fortran.gif


Woe to he who dropped his card deck.

We'd put them in the card reader, then have to wait some number of minutes for the printer to spit out our program and its results on this stuff:

41u12ee4fDL._SX300_.jpg


Usually what it told you was that you'd made a syntax error.

When I was a kid, I got a tour of one of those facilities in grade school, and card readers were already on the way out. I learned Fortran on a Vax VMS system.
 
My first college programming course was in PL/1 using 80 column cards (like those pictured), keypunch and remote computer and printout. I got really good a desk checking my code before I submitted it. I left school in 1978 and went back to finish my CS degree in 1990. In my 3rd or 4th computer programming class the professor walked around and solemnly handed each of us one punch card just for historical reference. I didn't bather to tell him I'd used dozens of boxes of them.
 
Back
Top