Hacker News new | past | comments | ask | show | jobs | submit login

I'm a bit young to have had any contact with COBOL, but I've worked in financial institutions implementing mission-critical code handling customer transactions in other languages. The first thing that springs to mind to ask is, what kind of features does COBOL offer to make these processes safer and less bug-prone? At least 75% of the code and associated reams of unit testing I've seen written in these applications is to deal with weird input and edge-cases. Is there anything specific about COBOL that is especially suited for dealing with this kind of task? I've never seen anything written about static analysis or formal modelling either. Is the compiler especially attuned to catching potential errors? Is there implicit run-time bounds checking and analysis like in Ada et al?



No, nothing like that. It is simply the first language ever used for these tasks (first language to be designed to look anything like English too). The language is so old that one of its designers is also the person that introduced the notion of "compiler".


Thank you, that's very interesting to know. I had guessed that there wasn't much, based upon its vintage, but I'd have thought that it must be very robust at some level to have dominated a mission-critical financial niche for so long.


> what kind of features does COBOL offer to make these processes safer and less bug-prone?

It's not so much something inherent to the language, but that it's what's in use and working. It was an early language so a lot of infrastructure was built on top of it over the years and it'd be very difficult and risky to change.


If we can't change from COBOL to something else now, I have no idea how we could change todays software in 2050.


will build AI to take care of that :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: