The elephant in the room is likely Cobol (and to a lesser extent Fortran). Still widely used in industry, yet often maligned in academic circles. Who needs to teach that languages anymore. Cobol isn’t well liked because of its verbosity, English-like syntax (who would have thought), and lack of structured programming. Yet it is said that more than 70% of the worlds business runs on Cobol. True, Cobol isn’t cool. It is criticized for being “out-of-date, not attractive, complex, and expensive”. Sure there isn’t a huge demand for people with an understanding of Cobol – but neither is there a glut of people who can decipher and re-engineer Cobol programs – see the crux is re-engineering, not coding per-se.
Think everyone will be porting their Cobol code to Java? Not likely. Here is a case in point – healthcare insurer BlueCross BlueShield (check out this Computerworld article written by Robert L. Mitchell). They process nearly 10% of all healthcare claims in the U.S., and run millions of lines of optimized Cobol to process 19.4 billion online healthcare transactions annually. Cobol handles transactional workloads on mainframes extremely well, and is hard to replace in this role. Beyond popular belief the mainframe is not dead – Unisys, Groupe Bull, Fujitsu, and IBM all still make mainframes.
Food for thought.
The reality is that in 10 years time, iOS will have been replaced by something even newer, just as application development on iOS devices morphs from Objective C to Swift. Such platforms and applications are transitional, i.e. they don’t have a long lifespan. Yet in 20 years, Cobol will still be with us – in some form or other.
Learn a legacy language if you want to differentiate yourself from everyone else. Or better still – learn a legacy language, AND how to re-engineer it.
Want to read more? – here’s a great article by Microfocus.