Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, but ... this depends strongly on whether your task is to maintain that production system in its current state indefinitely, or to keep developing it and continuously integrate with new technologies under time constraints. If the former, the right answer would probably be COBOL. If the latter, this is where things get interesting.


Why COBOL?


COBOL is used for the longest continuously running systems, particularly in the financial industry, many of which have been in production since the 1960s - mainly on mainframes, but noawadays also increasingly in cloud environments. There's nothing that comes close to the level of reliability that these offer, with the next closest probably being Fortran, Ada and Erlang.

I found this article with some numbers [0], with the top one being that "95% of ATM swipes rely on COBOL code". If you just need to maintain something in production, and only occasionally update the business logic, without having to upgrade the architecture, COBOL is the way to go.

[0] https://www.pragmaticcoders.com/resources/legacy-code-stats


I think the correlation here is pretty solid but I wonder about the causality. There are a few big confounding variables; off the top of my head,

1. COBOL systems are typically written on a much shallower software stack with less room for unreliability

2. banking systems have a ton of effort put into reliability over decades of development.


My old boss wrote COBOL code for a core finance process… in 1975, well before I was born. He retired in 2019, and that code is still there with a few mods and probably will remain for another decade.

In fairness, it’s pretty fundamental stuff. But… the company has been working on moving to some Oracle bs for 5-6 years.




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

Search: