# IBM 360: Happy 50th Birthday!

**URL:** <https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [April 7, 2014, 5:53pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569 "2014-04-07T17:53:29Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Voyager](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/voyager/32/133_2.png) [@Voyager](https://boards.straightdope.com/u/Voyager)\
**Post date:** [April 8, 2014, 7:04pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/21 "2014-04-08T19:04:08Z")

</div>

> [@friedo](#):
>
> I believe you’ll find that typing (shift+1)-m is actually more work than just typing m-a-k-e.
> 
> And while up-arrow would work, I will have typed several other commands in between each make, which means perhaps several up-arrows with a brief pause to see if that’s the commandline I want to execute or something miscellaneous.
> 
> So the cost of optimization is actually greater than just doing it the stupid, straightforward way that always works.

I have my history in csh set to emacs mode, so I just to CTL-P to go up. Very fast, especially when you have a window for each thing you are doing. You can also edit the command line which definitely helps doing repetitive stuff.

---

<div class="post-metadata">

**Author:** ![jsc1953](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@jsc1953](https://boards.straightdope.com/u/jsc1953)\
**Post date:** [April 8, 2014, 8:05pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/22 "2014-04-08T20:05:24Z")

</div>

> [@Canadjun](#):
>
> Thinking back into the deep dark recesses of distant memory, pretty sure WATFIV was WATerloo fortran FIVE, since there was a WATFOR that I never used (one of my textbooks was titled something to the effect “Fortran IV with WATFOR and WATFIV”

OMG I had that same book.

Programmin’ the big iron for Big Blue. I came out of the Computer Science program at Cal, which turned up its nose at things like business applications and COBOL. So I learned assembler and LISP and Pascal and Fortran and how to write an O/S, but never actually got my hands on a 360.

---

<div class="post-metadata">

**Author:** ![wolfpup](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/wolfpup/32/10618_2.png) [@wolfpup](https://boards.straightdope.com/u/wolfpup)\
**Post date:** [April 8, 2014, 10:03pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/23 "2014-04-08T22:03:23Z")

</div>

> [@aceplace57](#):
>
> IBM guys, did the 360 support Time sharing and terminals? Or was the 360 all card reader batch processing?

> [@Voyager](#):
>
> [Indeed it did.](http://en.wikipedia.org/wiki/IBM_System/360_Model_67) - The 360/67 model anyway.

Someone pointed out that the /360 supported terminals which of course it did, the 3270 being the classic, but that wasn’t timesharing – it was transaction processing. The 360/67 was the one model specially designed for timesharing but I don’t know of any decent timesharing OS that was ever developed for it. TSS and the like (not sure of all the variants offhand) existed for most models, but it was an awful abomination that seemed like a thin rehash of the batch system – in the only version I ever used, a command line error would come back to you as “card error”. 😃

Real timesharing was first developed at MIT’s Project MAC on a modified IBM 7094. MIT also collaborated with Digital Equipment on a timesharing OS for the PDP-6, a 36-bit computer that was the largest DEC had yet produced, and that OS was released commercially. But AFAIK the first really capable commercial timesharing system came, not from IBM which continued to focus on business batch and transaction processing, but from Digital Equipment Corporation when they released the PDP-10, a successor to the PDP-6. It was widely used in universities and research institutions and several commercial timesharing bureaus, and eventually was rechristened the DECsystem-10 and two further major processor refinements were introduced with the same architecture. It became probably the foremost timesharing system in the world, while the System/360 family became the centerpiece of business computing with its strength in batch and transaction processing.

---

<div class="post-metadata">

**Author:** ![Canadjun](https://avatars.discourse-cdn.com/v4/letter/c/76d3ee/32.png) [@Canadjun](https://boards.straightdope.com/u/Canadjun)\
**Post date:** [April 8, 2014, 10:40pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/24 "2014-04-08T22:40:24Z")

</div>

> [@wolfpup](#):
>
> Someone pointed out that the /360 supported terminals which of course it did, the 3270 being the classic, but that wasn’t timesharing – it was transaction processing. The 360/67 was the one model specially designed for timesharing but I don’t know of any decent timesharing OS that was ever developed for it. TSS and the like (not sure of all the variants offhand) existed for most models, but it was an awful abomination that seemed like a thin rehash of the batch system – in the only version I ever used, a command line error would come back to you as “card error”. 😃

Abomination? Good description. Don’t know whether it was the specific installation I got to use or whether it was in all installations, but I still “fondly” remember “ABORT=80 BULKIO” that was printed out instead of your printer listing if you changed (maybe just deleted; I don’t remember) a file that you had submitted for printing before it actually printed out.

---

<div class="post-metadata">

**Author:** ![Shinna\_Minna\_Ma](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@Shinna\_Minna\_Ma](https://boards.straightdope.com/u/Shinna_Minna_Ma)\
**Post date:** [December 8, 2014, 6:09am UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/25 "2014-12-08T06:09:52Z")

</div>

I remember the IBM 360s and 370s well. While I was in college in the early 1980s, I worked nights at the Social Security Administration headquarters, where they still used both mainframes. I remember the punch cards they used to feed jobs into the queues, and how some hapless programmer would occasionally drop a tray full of cards and helplessly watch as they skittered across the floor. The funniest thing would be to watch boxes of paper run through the line printers when a job ABENDed. The programmer would come down to the print area, riffle through the stack for a few seconds, and then pick up the 3 or 4 pound stack of paper and throw it into the trash without a further glance.

---

<div class="post-metadata">

**Author:** ![Projammer](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/projammer/32/559_2.png) [@Projammer](https://boards.straightdope.com/u/Projammer)\
**Post date:** [December 8, 2014, 7:14am UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/26 "2014-12-08T07:14:22Z")

</div>

> [@QuickSilver](#):
>
> My first, second and third job out of college were huge software development projects based on the IBM 370 platform. MVS/TSO/CICS/DB2/JCL/FileAid/COBOL…
> 
> Good times.

COBOL. The language that made several generations of men appreciate the agony that is periods.

I’m not convinced that wasn’t deliberate considering the creator of its predecessor was a woman, Grace Hopper

Also, the foundation for one of my favorite practical jokes in college…

Final project time and one of my friends left his program up on a terminal while I was around. I changed the //Exec COBOL line to //Exec RPG when he was down to about six compile time errors. The look on his face when page after page of errors started pouring out of the line printer was priceless. Then there was the realization, “Wait a minute! Those are RPG errors!! … PROJAMMER!!!”

I miss those days.

---

<div class="post-metadata">

**Author:** ![pullin](https://avatars.discourse-cdn.com/v4/letter/p/c57346/32.png) [@pullin](https://boards.straightdope.com/u/pullin)\
**Post date:** [December 8, 2014, 10:42am UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/27 "2014-12-08T10:42:51Z")

</div>

Wow, this is a fascinating thread (and trip down memory lane).

I think I’ll branch to another thread and come back later.

BALR 14, 15  
😃

---

<div class="post-metadata">

**Author:** ![Canadjun](https://avatars.discourse-cdn.com/v4/letter/c/76d3ee/32.png) [@Canadjun](https://boards.straightdope.com/u/Canadjun)\
**Post date:** [December 8, 2014, 3:26pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/28 "2014-12-08T15:26:25Z")

</div>

Anyone toss punch card confetti in someone’s bed in residence, for “fun”? 😃

---

<div class="post-metadata">

**Author:** ![Lukeinva](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lukeinva/32/17872_2.png) [@Lukeinva](https://boards.straightdope.com/u/Lukeinva)\
**Post date:** [December 8, 2014, 4:36pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/29 "2014-12-08T16:36:37Z")

</div>

Personally this year is my 30th working on IBM mainframes. In 1984 I got a job at the I/O counter logging in programmers card decks and retrieving their fan-fold green bar output from the printers. One week later a woman in operations who was pregnant took maternity leave which created an opening in operations and I got offered her job. It was shift work and there was no pay increase but the boss told me I would learn lots of stuff that would pay off later. So I accepted.

Best decision I ever made… 30 years later I am now a sr. systems programmer and have worked at places like the Dept of Justice, Dept of Commerce, Dept of Transportation, NASA, NIH, and the Pentagon. It is too bad they don’t teach mainframes in colleges these days because there are many shortages of programmers who can speak COBOL and Fortran, PL/I, assembler, etc. You would not have any trouble finding a job in these areas and a really good paying job at that.

---

<div class="post-metadata">

**Author:** ![Spectre\_of\_Pithecanthropus](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/spectre_of_pithecanthropus/32/12343_2.png) [@Spectre\_of\_Pithecanthropus](https://boards.straightdope.com/u/Spectre_of_Pithecanthropus)\
**Post date:** [December 8, 2014, 9:27pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/30 "2014-12-08T21:27:36Z")

</div>

I’m not old enough–or at least I didn’t start programming early enough–to work on the 360, but Fortran (as it was styled in the manual for the earlier 704 machine) was my first programming language. With a little more text processing, perhaps, I don’t see why Fortran couldn’t have obviated the need for anything like COBOL. Fortran was easy to get started in, and you could go as far as you needed to. With regard to COBOL, which I spent many more years working in than I did Fortran, I never did get the point of all that verbosity. Supposedly it was to make programs comprehensible to business people, but did they really anticipate that we’d be doing code walkthroughs with the CFO or something?

You can look at the earliest Fortran manual [here](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CB4QFjAA&url=https%3A%2F%2Fwww.fortran.com%2FFortranForTheIBM704.pdf&ei=IRaGVOzmPNbZoASco4CYBw&usg=AFQjCNGjkqHdMN5QusPUQcaGC50b6pg0jA&sig2=3LNPjFnIoU1aj6ZqMqM9kg&bvm=bv.81449611,d.cGU&cad=rja) (PDF).

I did work on an IBM machine very briefly for a spell, working at Lorimar Telepictures just after the acquisition by Warner Brothers. The latter’s systems were on IBM machines, while ours was on VAX, so we had to set up some scripts and other code to transfer our data to their system. I did a little JCL scripting and that was about it as far as the IBM was concerned.

---

<div class="post-metadata">

**Author:** ![FeAudrey](https://avatars.discourse-cdn.com/v4/letter/f/7feea3/32.png) [@FeAudrey](https://boards.straightdope.com/u/FeAudrey)\
**Post date:** [December 8, 2014, 10:32pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/31 "2014-12-08T22:32:24Z")

</div>

> [@Shinna\_Minna\_Ma](#):
>
> …The funniest thing would be to watch boxes of paper run through the line printers when a job ABENDed. The programmer would come down to the print area, riffle through the stack for a few seconds, and then pick up the 3 or 4 pound stack of paper and throw it into the trash without a further glance.

That huge printout was a core dump. What you were supposed to do with it was track down the instruction sequence that caused the abend, and figure out what coding or data error would have caused that to happen. It was all there in the hexadecimal; a knowledge of assembler language was helpful.

---

<div class="post-metadata">

**Author:** ![FeAudrey](https://avatars.discourse-cdn.com/v4/letter/f/7feea3/32.png) [@FeAudrey](https://boards.straightdope.com/u/FeAudrey)\
**Post date:** [December 8, 2014, 10:41pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/32 "2014-12-08T22:41:01Z")

</div>

> [@Spectre\_of\_Pithecanthropus](#):
>
> … With regard to COBOL … I never did get the point of all that verbosity. Supposedly it was to make programs comprehensible to business people, but did they really anticipate that we’d be doing code walkthroughs with the CFO or something?

No, no-one was doing code walkthroughs with non-tech types. The point of all that “verbosity” was supposed to make the code “self-documenting” – you could tell what it was supposed to be doing, especially if you used decently descriptive field, record, and file names. That would make maintaining the code easier.

We did specs, write-ups, flowcharts, etc, anyway, and it saved me lots of work time and angst when I got an application back with a request for, say, a change in payroll processing to meet some new regulation.

---

<div class="post-metadata">

**Author:** ![rbroome](https://avatars.discourse-cdn.com/v4/letter/r/838e76/32.png) [@rbroome](https://boards.straightdope.com/u/rbroome)\
**Post date:** [December 8, 2014, 10:42pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/33 "2014-12-08T22:42:43Z")

</div>

> [@aceplace57](#):
>
> A whole generation of analyst programmers cut their teeth on the IBM 360. It all started April 7, 1964. Anyone with IBM mainframe experience had their choice of jobs.
> 
> I never was lucky enough to get IBM experience. I worked on a Honeywell H-6000 running GCOS 3. Then later a Vax 780 cluster running VMS. I always wanted IBM experience (not a 360, that was obsolete when I started). My paycheck would have been a lot better.
> 
> 50 years in the modern computing age. IBM guys, did the 360 support Time sharing and terminals? Or was the 360 all card reader batch processing?
> 
> [Half-century milestone for IBM mainframes - BBC News](http://www.bbc.com/news/technology-26886579)

I used them in college in the early 70s. The first one I used (I don’t remember the details except it was a 360) was batch only. When I transferred to a different school, that 360 was interactive. It used IBM selectric typewriters as terminals. The terminal room got noisy in the late afternoon! 🙂

---

<div class="post-metadata">

**Author:** ![Spectre\_of\_Pithecanthropus](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/spectre_of_pithecanthropus/32/12343_2.png) [@Spectre\_of\_Pithecanthropus](https://boards.straightdope.com/u/Spectre_of_Pithecanthropus)\
**Post date:** [December 9, 2014, 4:58am UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/34 "2014-12-09T04:58:00Z")

</div>

> [@FeAudrey](#):
>
> No, no-one was doing code walkthroughs with non-tech types. The point of all that “verbosity” was supposed to make the code “self-documenting” – you could tell what it was supposed to be doing, especially if you used decently descriptive field, record, and file names. That would make maintaining the code easier.
> 
> We did specs, write-ups, flowcharts, etc, anyway, and it saved me lots of work time and angst when I got an application back with a request for, say, a change in payroll processing to meet some new regulation.

The thing that bugged me about COBOL was that it was widely used as a way to teach structured programming–and I don’t deny the desirability of that–but when the structural elements were merely paragraphs, there was nothing there to enforce it, the way OOLs do. I understand there’s OO COBOL now, but I’ve never looked into it.

---

<div class="post-metadata">

**Author:** ![usedtobe](https://avatars.discourse-cdn.com/v4/letter/u/ec9cab/32.png) [@usedtobe](https://boards.straightdope.com/u/usedtobe)\
**Post date:** [December 10, 2014, 3:39am UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/35 "2014-12-10T03:39:02Z")

</div>

I always wanted one of the small S360’s as a cocktail table:

Here’s a S360-30:

[Cute, No?](https://www.google.com/search?q=ibm+360-40&hl=en&gl=us&authuser=0&source=lnms&tbm=isch&sa=X&ei=br-HVM7OLIK3yQTPvoGwBA&ved=0CAgQ_AUoAQ&biw=960&bih=486#facrc=_&imgdii=_&imgrc=0Gz8AIM27h5ARM%253A%3BJUvaOZ5llZT1gM%3Bhttp%253A%252F%252Fed-thelen.org%252Fcomp-hist%252Fvs-ibm-360-30.jpg%3Bhttp%253A%252F%252Fed-thelen.org%252Fcomp-hist%252Fibm-360-30.html%3B386%3B246)

---

<div class="post-metadata">

**Author:** ![Rain\_Soaked](https://avatars.discourse-cdn.com/v4/letter/r/e19adc/32.png) [@Rain\_Soaked](https://boards.straightdope.com/u/Rain_Soaked)\
**Post date:** [December 10, 2014, 4:57pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/36 "2014-12-10T16:57:03Z")

</div>

From memory: Why did IBM marketing choose “360”? The computer was designed to cover “all the angles”.

---

<div class="post-metadata">

**Author:** ![Typo\_Knig](https://avatars.discourse-cdn.com/v4/letter/t/cdc98d/32.png) [@Typo\_Knig](https://boards.straightdope.com/u/Typo_Knig)\
**Post date:** [December 10, 2014, 5:15pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/37 "2014-12-10T17:15:35Z")

</div>

> [@Spectre\_of\_Pithecanthropus](#):
>
> I understand there’s OO COBOL now, but I’ve never looked into it.

Object Oriented COBOL - it’s called “Post Increment COBOL By One.” 😃

A play on the name of the OO version of C, which is C++ Adding the “++” operand to a variable in C increments that variable, after the rest of the statement has been executed, called a “post increment”. Because the C++ language was the next thing after the C programming language. A nice short name, as opposed to the notoriously wordy COBOL … Now, class, we will use the Twain programming language to set LAUGHS to “nobody” and FROG to “dead”.

I laughed for a solid half hour when I first heard that joke. Made the traffic jam we were in almost worth it.

---

<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:** [December 10, 2014, 5:20pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/38 "2014-12-10T17:20:35Z")

</div>

> [@Canadjun](#):
>
> Anyone toss punch card confetti in someone’s bed in residence, for “fun”? 😃

We had two tricks - fill a balloon with the chaff and rig it to pop when they entered the room, or pour some into the air vent intake of their car so that it came blowing out when they turned on the fan.

I started on the big iron at university - University of Missouri Rolla (now Missouri University of Science and Technology) in 1980. First language was Fortran, then PL/I, then assembler and finally COBOL. First and 2nd year students had to use the card punch, later we got to use the 3270s. I worked on mainframes until switching to \*nix and Windows in around 2000. I still have a ‘yellow card’, the “IBM System/370 Reference Summary”, eighth edition published in 1989. The definitive book on JCL was known as the Blue Brown book, and I see you can [still get it](http://www.amazon.co.uk/System-370-Gary-DeWard-Brown/dp/0471283096/ref=sr_1_5?s=books&ie=UTF8&qid=1418231204&sr=1-5&keywords=jcl)

---

<div class="post-metadata">

**Author:** ![usedtobe](https://avatars.discourse-cdn.com/v4/letter/u/ec9cab/32.png) [@usedtobe](https://boards.straightdope.com/u/usedtobe)\
**Post date:** [December 11, 2014, 4:34am UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/39 "2014-12-11T04:34:40Z")

</div>

> [@Spectre\_of\_Pithecanthropus](#):
>
> The thing that bugged me about COBOL was that it was widely used as a way to teach structured programming–and I don’t deny the desirability of that–but when the structural elements were merely paragraphs, there was nothing there to enforce it, the way OOLs do. I understand there’s OO COBOL now, but I’ve never looked into it.

COBOL also does SECTIONS. Working Storage, where all variables are defined, is always a SECTION.

A GO TO in a SECTION cannot specify a point outside the SECTION. nor can a PERFORM (branch and return) access code outside the SECTION.

The only Procedure Division statement REQUIRING section was the SORT verb, if you used the INPUT PROCEDURE IS (SECTION Name) and/or OUTPUT PROCEDURE IS (SECTION Name). Those clauses had to specify SECTIONs or you would get a compile-level cc 8 (critical failure) your JCL would not attempt to LINK the result of the Compile.

Just had to use all caps for COBOL - and no, the 3270 terminal would send lower case - VTAM (which runs the terminals) would do the shift.

Kids: Why did mainframes use all caps? Because, until laser printers, using all caps doubled print speed - the type was on a chain which spun over 133 print positions, each with a solenoid “thumper” to slam a type piece against the paper. The print chain had two complete sets of letters, and were available with either one set UC and one LC or with both UC - everybody decided upper case was tolerable for the speed increase.

---

<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:** [December 11, 2014, 2:56pm UTC](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569/40 "2014-12-11T14:56:19Z")

</div>

A trick to play with the impact printer was to advance to the middle of a page then overprint print a row of “-” or “\_”\* several times then advance a full page. The paper would rip at the printed perforation and royally piss off the operators.

- (could you do \_ on a card punch? I can’t remember)

[Previous page](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569.md?page=1)

[Next page](https://boards.straightdope.com/t/ibm-360-happy-50th-birthday/685569.md?page=3)
