Learning COBOL

punch cards

Yes, I’m learning COBOL. Why? Why not?

For those of you who don’t know, COBOL is a computer language created in the 1950s to run on mainframe computers. It’s still in use and still running mostly on mainframes. Every three years or so there are a couple dozen articles about how COBOL is a dead language. Then I do a search on Dice or Indeed and see several hundred COBOL jobs. (Currently 900 on Indeed.)

What triggered this is, I saw an article about a COBOL compiler that runs on Linux. I had to try it. At first I thought I would learn enough to experiment a bit, but my geek curiosity has been stirred. COBOL is completely different from anything else I’ve programmed. I decided to keep going.

I should mention that this isn’t a totally weird thing. I’m always learning something new. There is something wrong with me. I will never know enough if I don’t know everything, and there is no way to know everything.

So, I’m learning COBOL. Some of it is really weird. Some of it is surprisingly easy. All of it was definitely created by some of the geekiest humans to ever walk the earth. The attitude seems to have been that since machine code isn’t good enough for the end users, we’ll let them use words but will enforce such tight structure they won’t have a chance to be vague.

Which leads me to the hardest part of learning COBOL. The documentation is TERRIBLE! The documentation is either so broad that it has no relevance, or is so specific it doesn’t apply to me. That’s the problem with documentation written by engineers.