# Whatever happened to COBOL?

**URL:** <https://boards.straightdope.com/t/whatever-happened-to-cobol/147882>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [January 11, 2003, 2:45am UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882 "2003-01-11T02:45:00Z")\
**Posts on this page:** 19\
**Page:** 3

<div class="post-metadata">

**Author:** ![tracer](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/tracer/32/20578_2.png) [@tracer](https://boards.straightdope.com/u/tracer)\
**Post date:** [January 15, 2003, 8:37pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/41 "2003-01-15T20:37:44Z")

</div>

> [@](#):
>
> \*Originally posted by Mr. Blue Sky \*  
> **Way back in the mid-80s, I took computer programming classes in hopes of becoming a programmer. The only language I enjoyed was COBOL (as opposed to RPG (which I despised) and BASIC).**

So, let me get this straight … you **enjoyed** COBOL?

---

<div class="post-metadata">

**Author:** ![Zazie](https://avatars.discourse-cdn.com/v4/letter/z/6f9a4e/32.png) [@Zazie](https://boards.straightdope.com/u/Zazie)\
**Post date:** [January 15, 2003, 11:01pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/42 "2003-01-15T23:01:20Z")

</div>

I work in a big computer company… and we support it… It is used!

---

<div class="post-metadata">

**Author:** ![happyheathen](https://avatars.discourse-cdn.com/v4/letter/h/b5e925/32.png) [@happyheathen](https://boards.straightdope.com/u/happyheathen)\
**Post date:** [January 15, 2003, 11:23pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/43 "2003-01-15T23:23:21Z")

</div>

> [@](#):
>
> \*Originally posted by bayonet1976 \*  
> \*\*Oh man, brings back memories from my first job as a systems programmer for Eastern Airlines.
> 
> 1. First day on the job, walking through the computer room and the sysprog manager points to a pallet of punch cards on the floor and says “That there is the OS, don’t mess with it, if we ever lose the tape drives during an IPL we’ll have to reload from the card readers.” Yes it was that long ago.
> 
> 2. And a couple of years later shaking my head in wonder as we threw out, literally, a 3033 (7 big blue cabinets), because it was cheaper than return it to the leasing company. \*\*

I’ll see your punch cards, and raise you:

1. Indianapolis. Interview with a little insurance company. Not only was the guy I spoke to dressed like a theatre usher from the 50’s (houndstooth, black and green suit), but he insisted on showing off their hardware - including a pre-Van Neumann (sp) machine, complete with (wait for it…)  
a _plugboard!_

(kids: before there were programming languages, programming was (sometimes) done with plugboards - this one was about 3’ square, with single-contact sockets every ~ 1 - 1 1/2 inches. It was programmed by stringing wires between the holes)

---

<div class="post-metadata">

**Author:** ![Mr.Blue\_Sky](https://avatars.discourse-cdn.com/v4/letter/m/d26b3c/32.png) [@Mr.Blue\_Sky](https://boards.straightdope.com/u/Mr.Blue_Sky)\
**Post date:** [January 15, 2003, 11:27pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/44 "2003-01-15T23:27:39Z")

</div>

> [@](#):
>
> \*Originally posted by tracer \*  
> \*\*So, let me get this straight … you **enjoyed** COBOL? \*\*

Yep. I worte some damned good programs. Now RPG, well, I’d rather be disemboweled by rabid spider monkeys that to ever write an RPG program ever again.

---

<div class="post-metadata">

**Author:** ![urban1a](https://avatars.discourse-cdn.com/v4/letter/u/e47c2d/32.png) [@urban1a](https://boards.straightdope.com/u/urban1a)\
**Post date:** [January 16, 2003, 4:36am UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/45 "2003-01-16T04:36:33Z")

</div>

Another followup. I was a COBOL programmer for many years and was one of the ones responsible for the Y2K problem due to lack of foresight 😛

I believe that the vast majority of COBOL support has moved to India accounting for the scarcity(sp?) of job offerings

---

<div class="post-metadata">

**Author:** ![kferr](https://avatars.discourse-cdn.com/v4/letter/k/71e660/32.png) [@kferr](https://boards.straightdope.com/u/kferr)\
**Post date:** [January 16, 2003, 2:08pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/46 "2003-01-16T14:08:19Z")

</div>

I started university in 1980, writting Fortan and COBOL programs controled by JCL on punch cards being fed into an IBM 4341. In a micro-computer course we wrote our 8080 assembler code on paper, hand translated it into machine code, and entered it into the Altair-8080 by flipping toggles on the front panel.

In my first job in 1985 I was maintaining COBOL code older than I was. It was an insurance application dealing with actuarial data. The master file spanned over 70 reels of 9 track tape. The last resort backup for our source code was micro-fiche. Every programmer had a fiche viewer, but there was only 1 3270 terminal for every 2 programmers.

The thing I miss most about the ‘old days’ is green bar paper, there’s nothing better for reading a large source file, or digging thru a dump.

---

<div class="post-metadata">

**Author:** ![RalfCoder](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@RalfCoder](https://boards.straightdope.com/u/RalfCoder)\
**Post date:** [January 16, 2003, 2:20pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/47 "2003-01-16T14:20:51Z")

</div>

**Happyheathen** , I have a panel for an interpreter sitting next to me right now. I saved it as a souvenir of the greyiron days. I used to be able to wire those suckers, but that was about 30 years ago, and everyone knew they were on the way out then.

**rjk** , thanks for mentioning Amazing Grace. She was one of the giants.

And let me add my explanation of **J** ob **C** ontrol **L** anguage. JCL is the code or syntax used to define a batch job on a mainframe. It identifies the job to the operating system, so the system can identify it, manage it, bill for it, etc. The job can have multiple steps, where each step is a separate program that gets executed. JCL tells the system what program to execute, what resources (files, printers, work space, etc) to allocate to that step, what to do with the data when the program finishes correctly, and what to do with it if it coughs up a hairball.

COBOL is a workhorse of the industry. The kids poopoo it, but if all the COBOL code suddenly disappeared, the result would make the them long for something simple like Y2K.

Now - anyone wanna talk about something fun, like PL/1?

---

<div class="post-metadata">

**Author:** ![The\_Clawman](https://avatars.discourse-cdn.com/v4/letter/t/e47c2d/32.png) [@The\_Clawman](https://boards.straightdope.com/u/The_Clawman)\
**Post date:** [January 16, 2003, 2:31pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/48 "2003-01-16T14:31:50Z")

</div>

> [@](#):
>
> \*Originally posted by kferr \*  
> \*\*  
> The thing I miss most about the ‘old days’ is green bar paper, there’s nothing better for reading a large source file, or digging thru a dump. \*\*

Our program dumps from production failures still come off on green bar! I’m in the middle of writing a calculations module in good old COBOL74 for a Unisys mainframe, which I think will top out at around 5000 lines. Haven’t written anything from scratch for a few years now, and I’m actually really enjoying it!

Incidentally, this site still uses ALGOL!

---

<div class="post-metadata">

**Author:** ![kferr](https://avatars.discourse-cdn.com/v4/letter/k/71e660/32.png) [@kferr](https://boards.straightdope.com/u/kferr)\
**Post date:** [January 16, 2003, 3:23pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/49 "2003-01-16T15:23:31Z")

</div>

> [@](#):
>
> \*Originally posted by RalfCoder \*
> 
> **Now - anyone wanna talk about something fun, like PL/1?**

I liked PL/1! Where else can you define an array such that its index values range from -8 to 47? I never used it professionally, but it was my language of choice for projects at university.

---

<div class="post-metadata">

**Author:** ![RalfCoder](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@RalfCoder](https://boards.straightdope.com/u/RalfCoder)\
**Post date:** [January 16, 2003, 3:33pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/50 "2003-01-16T15:33:59Z")

</div>

**Kferr** , I used it professionally for about 15 years. They took the best of COBOL and Fortran, left out the verbosity, and came up with this gem. I haven’t used it at all for 2-3 years, but I still get misty-eyed thinking of it… sniff… :p:p

---

<div class="post-metadata">

**Author:** ![kferr](https://avatars.discourse-cdn.com/v4/letter/k/71e660/32.png) [@kferr](https://boards.straightdope.com/u/kferr)\
**Post date:** [January 16, 2003, 3:43pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/51 "2003-01-16T15:43:49Z")

</div>

This thread reminds me of an old Dilbert that runs along the lines of:

_programmer_: I like this compiler.  
_Old programmer_: In my day we didn’t have fancy compilers, we had to use 0’s and 1’s!  
_Older programmer_: 0’s and 1’s !? Rubbish! Why I wrote an entire database using just 1’s!

---

<div class="post-metadata">

**Author:** ![Dazzling\_White\_Diamonds](https://avatars.discourse-cdn.com/v4/letter/d/41988e/32.png) [@Dazzling\_White\_Diamonds](https://boards.straightdope.com/u/Dazzling_White_Diamonds)\
**Post date:** [January 16, 2003, 4:17pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/52 "2003-01-16T16:17:18Z")

</div>

**COBOL** programmer here…

There are quite a few places that still use COBOL… including my current employer.

I’ve been coding in COBOL since the start of my career 14 years ago… and I have to say that I enjoyed it then, and **gasp** , I **still** do. I also use JCL to execute my programs… and horror of all horrors, I like that too!

I’ve always said that I’d rather code in ASSEMBLER than in RPG… 😃 I’m a control freak, what can I say?

Then again, I didn’t mind ASSEMBLER…

What?

---

<div class="post-metadata">

**Author:** ![cmkeller](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/cmkeller/32/118_2.png) [@cmkeller](https://boards.straightdope.com/u/cmkeller)\
**Post date:** [January 16, 2003, 7:49pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/53 "2003-01-16T19:49:48Z")

</div>

RalfCoder:

> [@](#):
>
> The kids poopoo it, but if all the COBOL code suddenly disappeared, the result would make the them long for something simple like Y2K.

In your fevered imagination, bud. I learned COBOL in college and used it in a summer internship job.

If I’d have had to base my career on it, I’d probably have swicthed to another profession. Thank G-d for Kernighan & Ritchie.

---

<div class="post-metadata">

**Author:** ![tracer](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/tracer/32/20578_2.png) [@tracer](https://boards.straightdope.com/u/tracer)\
**Post date:** [January 16, 2003, 8:03pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/54 "2003-01-16T20:03:13Z")

</div>

> [@](#):
>
> \*Originally posted by RalfCoder \*  
> **Kferr** , I used [PL/1] professionally for about 15 years. They took the best of COBOL and Fortran, left out the verbosity, and came up with this gem. I haven’t used it at all for 2-3 years, but I still get misty-eyed thinking of it… sniff… :p:p

Ah yes, PL/1. I had to use that once or twice at my old Teradata job (1989-1992).

In some ways, PL/1 combined the **worst** of FORTRAN and COBOL. It borrowed a “feature” from FORTRAN whereby any variable not explicitly declared was _implicitly_ declared as an integer if it began with I through N and a floating-point variable if it began with any other letter. The effect of this in actual code was that if you misspelled a variable name in the middle of a procedure, the compiler assumed that you were “creating” a new, uninitializd variable _ex nihilo_, and so the compiler wouldn’t complain and your program would occasionally give bizarre results.

I kinda liked the way Ada was the complete opposite of this. Not only did every variable have to be declared, you couldn’t assign a value of one type to a variable of any different type – no matter how similar the two types were. E.g., you cannot assign a value of type Natural (which covers the range 0 - 32767 on a 16-bit machine) to a variable of type Integer (which covers the range -32768 - 32767 on the same 16-bit machine), even though such an assignment would be guaranteed never to go outside the Integer’s range. You had to do explicit type conversions if you wanted to do something like this.

---

<div class="post-metadata">

**Author:** ![bayonet1976](https://avatars.discourse-cdn.com/v4/letter/b/77aa72/32.png) [@bayonet1976](https://boards.straightdope.com/u/bayonet1976)\
**Post date:** [January 16, 2003, 8:11pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/55 "2003-01-16T20:11:22Z")

</div>

> [@](#):
>
> \*Originally posted by Dazzling White Diamonds \*  
> \*\*\*\*COBOL\*\*I’ve always said that I’d rather code in ASSEMBLER than in RPG… 😃 I’m a control freak, what can I say?
> 
> Then again, I didn’t mind ASSEMBLER…
> 
> What? \*\*

I feel your pain, no really, I love assembler too. There’s something about a language that’s about as close as coding on bare metal as it gets. Not to mention that it’s required training for reading dumps.

---

<div class="post-metadata">

**Author:** ![Akatsukami](https://avatars.discourse-cdn.com/v4/letter/a/ea666f/32.png) [@Akatsukami](https://boards.straightdope.com/u/Akatsukami)\
**Post date:** [January 16, 2003, 8:33pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/56 "2003-01-16T20:33:43Z")

</div>

> [@](#):
>
> \*Originally posted by tracer \*  
> **In some ways, PL/1 combined the worst of FORTRAN and COBOL. It borrowed a “feature” from FORTRAN whereby any variable not explicitly declared was _implicitly_ declared as an integer if it began with I through N and a floating-point variable if it began with any other letter. The effect of this in actual code was that if you misspelled a variable name in the middle of a procedure, the compiler assumed that you were “creating” a new, uninitializd variable _ex nihilo_, and so the compiler wouldn’t complain and your program would occasionally give bizarre results.**

Not entirely true, **tracer** – or else, you were running the compiler wrongly.

The IBM optimizing compiler _will_ flag that situation, even though it _will_ compile the code (I hesitate to say that the compiler sometimes shows more intelligence than the programmer…).

If you want to use the compiler as a LINT-like syntax checker, do not suppress warning and informational messages. If not, proofread the code.

(What, the company-supplied JCL includes the parameter to suppress messages that don’t involve RC \> 4? Override it. )

Strong typing is _certainly_ a much more desirable feature in a language. PL/1 doesn’t have it. 360 architecture doesn’t include a stck. Deal with both.

---

<div class="post-metadata">

**Author:** ![RalfCoder](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@RalfCoder](https://boards.straightdope.com/u/RalfCoder)\
**Post date:** [January 16, 2003, 9:37pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/57 "2003-01-16T21:37:23Z")

</div>

> [@](#):
>
> \*Originally posted by cmkeller \*  
> \*\*RalfCoder:
> 
> In your fevered imagination, bud. \*\*

**cmkeller** , I’m not interested in starting a religious war, but you really think there is that little COBOL code still running out there? My point was, if it all magically vanished, and wasn’t replaced, I think it would have a major impact on our lives. ATMs stop working. Bills don’t arrive, or payments get posted properly. Banks can’t credit your direct deposit. Students don’t get registered for classes or grades recorded. I think it would be every bit as bad as Y2K could have been. If you don’t, that’s fine.

**tracer** : yup - that could happen. That’s what testing is for.

I’d still prefer to use PL/1 over some of the other stuff, like RPG for example. It’s personal preference - I knew some people that loved RPG. Again, no holy wars, please.

---

<div class="post-metadata">

**Author:** ![cmkeller](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/cmkeller/32/118_2.png) [@cmkeller](https://boards.straightdope.com/u/cmkeller)\
**Post date:** [January 16, 2003, 9:44pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/58 "2003-01-16T21:44:57Z")

</div>

RalfCoder:

> [@](#):
>
> cmkeller, I’m not interested in starting a religious war, but you really think there is that little COBOL code still running out there? My point was, if it all magically vanished, and wasn’t replaced, I think it would have a major impact on our lives.

Sorry, I misunderstood what you meant. I thought what you meant was that if all the COBOL code ever written were do disappear _and be replaced by code in a different language_, we’d find ourselves missing COBOL.

Carry on…

Chaim Mattis Keller

---

<div class="post-metadata">

**Author:** ![RalfCoder](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@RalfCoder](https://boards.straightdope.com/u/RalfCoder)\
**Post date:** [January 16, 2003, 10:09pm UTC](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882/59 "2003-01-16T22:09:33Z")

</div>

'Sallright.

And I have a list of programs, COBOL and otherwise, that **SHOULD** disappear, and be rewritten. And if we can make their authors go with them, so much the better…

[Previous page](https://boards.straightdope.com/t/whatever-happened-to-cobol/147882.md?page=2)
