views:

3613

answers:

10
+18  Q: 

How to learn Cobol

I am a Java developer (mostly) and I would like to learn some cobol/mainframe. Not for actual doing much coding, but to better understand cobol/mainframe developers.

The problem is last time I checked there wasn't a mainframe under my desk.

+6  A: 

Hop over to the OpenCOBOL website and install it. They have documentation as well.

Lyndsey Ferguson
+4  A: 

Take a look at GNU COBOL. Disclaimer: I don't know what the current status of the project is.

anon
This link works: http://cobolforgcc.sourceforge.net/
Jim Ferrans
looks like sourceforge has some problems at the moment
anon
Must be the new Stack Overflow Effect! ;-)
Jim Ferrans
+3  A: 

MicroFocus COBOL has a good reputation for commercial COBOL development tools. They have a free download version for developers, called Net Express.

Also see this list of free COBOL compilers and interpreters.

I'd try MicroFocus first, since it will be a very faithful, mainframe compatible implementation. My last company used MicroFocus products back in 1995-1999, for Y2K remediation consulting.

Jim Ferrans
+10  A: 

This is a pretty good COBOL tutorial: http://www.csis.ul.ie/cobol/Course/Default.htm

For the mainframe (z/OS) overview in general, I would recommend this Redbook: http://www.redbooks.ibm.com/abstracts/sg246366.html There are other Redbooks from the series (Introduction to the new Mainframe).

There are unfortunately no legal means to run z/OS yourself, but a copy that runs in Hercules can be found on P2P networks.

J S
The latest legal copy of the z/OS lineage that can run on Hercules is MVS 3.8j (unless you work for Big Blue of course). It is to z/OS 1.10 as Windows XP is to CP/M. Please don't suggest illegal activities here even if preceded by a disclaimer. Anyway, getting z/OS up and running on Hercules is NOT something for the faint of heart, trust me on that one.
paxdiablo
Yeah, I know it's illegal. But I mention it because there is sadly no other way, and I don't find it immoral for learning MF skills. The IBM policy in this regard is stupid, and the only way to change it is to point it out.
J S
It's not your job to decide what is legal or what is excusable. Either promote piracy or don't but don't try and justify it. On SO, I don't think it should be discussed.
John
+1  A: 

I got this book:

http://www.amazon.com/Murachs-Mainframe-COBOL-Mike-Murach/dp/1890774243

It's awesome... it is set up in a unique way with the text on the left page and the example on the right page. There is also a JCL book:

http://www.amazon.com/Murachs-OS-390-JCL/dp/1890774146

It's done the same way and I also got that.

Also... regarding there not being a mainframe under your desk, you may be mistaken on that point... check this out (haven't tried it myself)

http://en.wikipedia.org/wiki/Hercules_emulator

JoelFan
+2  A: 

One way to understand COBOL developers is to imagine that you work with lots of very old, maybe decades old, programs. Documentation is sketchy. Many programmers have touched the code. Testing can be difficult. You don't get to develop new stuff.

And, the systems you work on are "mission" critical, think ATM network and airline reservation systems.

Cathy Sullivan
+1  A: 

You can get a used AS/400 of eBay for <500$.

Peter Stuer
do you mean >500$? or is it supposed to be <500$ ?
Jens Schauder
Yeah, but the shipping will kill you.
dlamblin
You are right Jens, I meant <500$. I'll edit the answer.
Peter Stuer
Not to mention the power bills :-)
Stephen C
or he meant >$500 - just to be anal about syntax.
Andreas Petersson
+15  A: 

I'm a COBOL programmer. I'm 58 years old and most of my work colleagues are only about 10 years or so younger, and I've been around since computers had valves. The main trick to understanding COBOL programmers is not to inadvertently make 'MicroSoft' requests.
By this I mean that if I am asked to write a program to read tens of millions of records I'm happy. If you ask that unwanted data be eliminated by a whole list of what will become complex SQL clauses, I'm still happy. If the results are to be grouped by hundreds of variables and then sorted, I'm still a little bit happy. But if you then say that you want the results in a spreadsheet - I WILL curse at you and tell you not very politely to put the results in a spreadsheet yourself.

John
Great answer. What about Google Docs? Would that be ok? ;-)
Jens Schauder
Good story :)))
RedFilter
"I'm a COBOL programmer."Admiting you have a problem is always the first step in recovery... sorry, I couldn't resist.
jinxx0r
A: 

Here is an allegedly ready to run COBOL program for the OpenCOBOL.org compiler:

fizzbuzz-contest-2.cob

Found here: imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/