-
💡 You can translate our web pages into Telugu, Hindi or any of the 133 languages using the LANGUAGE dropdown in the header for better understanding. Your language choice is remembered across pages and you can hover or tap on any item to see its original/English version in a popup. You can change the language or restore the English version at any time from the translation toolbar that appears in the header after translation. On mobile devices, you may have to tilt the device HORIZONTALLY to see the full translation toolbar.
- 3
Question
Sanjiv
COBOL: The Dinosaur Language that CANNOT be Simply Replaced!
Every day, 3 Trillion-dollar worth of transactions are handled by this 65-year old language (banking, insurance, government...). This video is worth watching twice.
If it ain't broken, don't fix it. As a COBOL programmer, I approve this message!
Upgrading systems to use shiny modern languages is highly EXPENSIVE and RISKY!
Imagine what you could buy with $800,000 in 1959... Approx 115 houses in the burbs at 7k each. Anything you wanted A Lamborghini Countach was approx $200,000 in the 80s at that time a house was like $30,000 in 1960 they would have been $5,000 - $10,000 You could have most whatever you wanted and then ... retired comfortably for life
I have never understood why anybody thinks COBOL is difficult. The code tells you what it is doing in ENGLISH
You will definitely not run out of opportunities to work. And you can make a fortune doing so!
I will move COBOL from "obsolete skills" section to "strategic skills" on my resume!
Most companies I work with are still developing COBOL today. Many of the mainframe systems have developed to support newer technologies, like Web Services, using regular COBOL. The code is compiled so well it is hard to compete with it on the mainframe where every MIP counts. Also these companies have the same code that was written decades ago and it still runs today without a recompile. Third party libraries for COBOL are nearly inexistent. Those trying to change to Java and use third party libraries usually have to recompile once in awhile to allow a newer version of the framework with bug and security fixes. To me that is the wrong direction and the throughput is hard to beat on the mainframe
Correct, my company has lots of COBOL programmers still and it's far from "old" code. We're running on the newest zOS, current mainframes, most recent version of DB2, etc. We have web interfaces, APIs and everything you'd expect from a current application. While most of our new applications are Java now we're still writing some new COBOL applications for the stuff that absolutely can not ever go down
I'm 54 and have been a Java dev ever since Java came around. I also to have some OS390 experience from my early days (PL/1, JCL). I do wonder sometimes if I should learn COBOL so I can spend the rest of my career maintaining old, boring (but important) COBOL programs... possibly getting a better pay than now, and having a less stressful job than now - and not having to chase every new tech trend every few months anymore - which does get harder when you get older
My aunt retired from her programming job in the 1980s. In 1998 she took a consulting gig for a small company to "get ready for Y2K", updating their 30 year old mainframe software. Word got out, and the small companies all started hiring her. Work a week, go on to the next one. As the deadline got tighter, the offers got richer, but time was the issue. She'd tell a potential customer "I think I need 3 days, but it'll take me 1.5 days to travel both ways and I only have a 4 day window in my schedule - unless you wait till after the new year". "I'll fly my private jet to the city you are in now, wait for you to finish, take you direct from their door to mine, and take you to your next job after, that'll save you 20 hours of airlines and airports". That became the new standard. She'd call the next company on the list when she was wrapping up, and they'd have transport at the door when she walked out. Limos, charters, private planes from Lears to Piper Cubs, even helicopters normally used for logging. She finished her last job on January 1st 2000 and retired again.
I have a friend of mine that is still a highly proficient (but semi retired) programmer in COBOL and like me now in her 60's. She still comes out to play when her former customers need COBOL changes and makes a lot of money. When the Y2K panic came along in 2000 she was in big demand. Most old COBOL based software systems were never designed to go through a millennium change (00)She made a fortune upgrading COBOL based systems for many big companies, banks etc, and rich very quickly. She was quite busy for a year or two!! It is not really any harder to learn than any other language
Two quotes: 1) "I know COBOL and I won't starve" C. Pitts Control Data Corp. circa 1979. 2). "What runs on the mainframe? Civilization." Roberts, International Business Machines circa 1987. Both statements are as applicable today as the were 40 to 50 years, from Shanghai to lower Manhattan and all points in between. Anyone who can code can pickup COBOL in about 1 hour (I did it on the Chicago NW line one afternoon). The institutions you listed didn't even name the largest institutions depending on COBOL. Why COBOL? It still works and doesn't even need recompilation. Book of records usually requires continuous availability and those grand mums and nainai from Chengdu to Mumbai, Joburg, San Palo and Des Moines expect those ATM and credit cards to work 99.999% of the time even after a disaster and that means COBOL running on big iron, even in Wai Guo Qiao Pudong.
IBM mainframes are the silent workhorses in the economy. They sit there and run year after year. The z in z/OS truly means zero down time. All that COBOL code regardless of what any new gen says is truly an investment—much of it made decades ago. I work in IBM midrange (35 years now). Our systems run a billion dollar enterprise. The only worry we have is the lack of talent
COBOL was “old” when I was in college. The biggest issue with cobol systems is how a set of programs will share files. So knowing the language is only the first step. Understanding the dependencies and interactions is the bulk of the problem
stuff like this is why the Y2K conversation will happen again in the late 2030's, I believe 2037. Too many people do not understand that the reason Y2K was a non-issue was because of the skill of the techs at the time. However, the fix for these old languages was to rotate the 2 digit year column out 40 some years, and thus from the date of that programming fix, add 40+ years, and the new Y2K date is 2037. It is time to move off of ALL of the old code base. Rotating the date ranges every 40 years is a non-solution
Cobol is still used for a reason, there is nothing to match it in efficiency and speed in many important fields. And Cobol do support graphical user interfaces... Simply build a Cobol backend application with an API layer, and call it from a front-end, receive a response and present the data in any way you desire :). When you login to one of the larger banks and perform a transaction for example, several real-time Cobol modules will be running/executed on a mainframe somewhere, and data then sent and presented to you via browser/app... I work as a Cobol/Mainframe developer...
Yes the big banks have smart people, and they know the cost of conversion is too expensive. Today's compilers can optimize the object code to run as fast as any of the new languages on any of the current "big" computers. So why spend the money to make unnecessary changes? We are usually talking about long running big data processes.(not those that run on "the mill" small department processors). In a past experience, a sales department of a multi-million dollar company, thought it could cut their budget costs by moving their systems off the main frame to a "department" processor. On the mainframe, the weekly sales report was run in 3 hours. They took their source Cobol code compiled it on the department machine. The first time they ran the weekly report, it took 8 days to run.. Not good for a weekly report. The problem was not the source code, but more likely the compiler, the OS environment, and the hardware capacity. With the right combination, everything runs fast. As long as the hardware vendors can provide optimizing compilers, Cobol or any other legacy language will not die! I remember Auto-code. Without a compiler, it died with its hardware machine
Any programming language that is compiled into machine code is going to perform better imho. all of the "modern/scripting" languages are just interpreted by the back-end programs. it's just an extra bottleneck in the call-stack. Modern tech stacks are optimized for developer productivity and as such are quite bloated at runtime. I would be really surprised if any interpreted language beats COBOL in an apples-to-apples comparison (which means decimal math BTW). COBOL is a compiled language, so the efficiency is not in the language but in the compiler, and these are updated with every new generation of computers
One of the biggest benefits of using COBOL is that it does EXACT decimal arithmetic (i.e., not floating point double precision) , which is a huge advantage in financial systems. You can write highly structured code that is really easy to read - almost self documenting. But it's not at all suitable for web development, which is a huge disbenefit for most developers
Microsoft Visual Basic 6 had a Currency data type. It was simply a 64 bit integer that was scaled to 4 decimal places, so it would operate to $0.0001 accuracy
nobody should EVER be using floats for anything involving money. This is well established, and databases and other programming languages have supported various means of doing exact decimal arithmetic for decades. Java, for example has supported the BigDecimal class since 2006, and there were likely some form of add-on before it existed
Normally any discussion of COBOL mentions Grace Hopper, one of the inventors of the language. There is anecdotal evidence she was also involved with the use of the term "bug" and "debugging". I learned COBOL in 1980 and used it for most of my career
Cobol has several unique and undesirable traits. First, it was meant to be self-documenting leading to geometrically increasing confusion with each maintenance action. Second, if you needed a program written that would take a skilled programmer one week, by assigning two programmers, the project will now take a minimum of two weeks. Third, Cobol programs written years ago, having been debugged several times, still have the ability to fail in a totally unique way, and they regularly did. The purpose of higher level programming languages was to transportability between machine architectures. Each computer manufacturer defined its machine language, they then had to write a compiler that would convert the Cobol source code into functional machine language. It would thus seem possible that one could write a compiler that could convert Cobol source code into Python source code
In the 90s I worked for a major insurance company that was still using COBOL on mainframes for their backend stuff, actuarial tables, transactions, logging, etc. In the almost decade that I worked there they had 3 times where it was announced they were replacing it. Each time they tried to start that process, they gave up and just made a fancy new GUI that interfaced with the old systems. Now, 25+ years after I started I still have contacts there and it's all still chugging away on COBOL
Proud COBOL'er and still here. The oldest code I wrote that is still running in production was delivered in 1983 with a Y2K update in 1999
I became a COBOL programmer in 1975 thanks to IBM’s self-teaching manuals. Then I spent the next 20 years making a living at it. Difficult? No. Verbose? Yep. But its verbosity is one of its advantages. Well written structured COBOL should be self-documenting
I am 30 years old and COBOL was the first Programming language I learnt in my company. I was a COBOL Programmer for nearly 10 years. Leaving that company and learning real programming languages was like a caveman entering a city in the 20th century
COBOL is a compiled transactional record oriented compiled language. Python is a general purpose interpretive language. Huge difference when it comes to accounting. It's alive because it thrives in business
Anyone in the banking or insurance business knows COBOL is not dead at all. So "no one knows anymore" is somewhat of a bold statement, as there are so many people, ages 20 up to 80 years old, who are actually still working in COBOL
AutoCad is (still) global leader of CAD software, but Autodesk refuse to completely rewrite it so users can use the modern CPU's. Instead it still contains its legecy code (over 30 years old), limiting it to single thread operation
Long live COBOL and COBOL programmers. Make these greedy corporations pay for your skills. Don’t sell yourself short
1. COBOL programmers are available to employers who are willing to pay for them. 2. People can still learn COBOL. 3. The reasons ANY old code base survives are a) it works, why change it? and b) when you have millions of lines of legacy code, not only is it sometimes difficult to know what it does, but also WHICH of those lines of code actually ever execute. Dead code can be as much as 2/3 of a codebase. Additionally, not only does old code sometimes lack documentation, but also tests, so risk exists that if you change something HERE, you may break something THERE, without knowing it.
The World Depends on 65-Year-Old Code No One Knows Anymore
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.