The cost of running government on COBOL (h/t Cowen)
papers.ssrn.com
papers.ssrn.com
There was a point at which one of the programmers said he ignored the tests on amounts that were failing in reproducible ways because he thought they were wrong.
To this day I don't know the full cost of replacing all the uses of float with BigDecimal, but I'm glad one of my fellow consultants had a math and finance background and was able to sort it out.
Why did the COBOL folks use float and not know about the problems with IEEE-754 floating point?[1]
Because they had been using COBOL, which, because it was purpose-built for business and accounting has fixed-point arithmetic, handles money naturally.
The COBOL-turned-Java programmers I worked with may not have been the best (nor is Java all that), but the fact that COBOL does money the way we intuitively expect "out of the box" is why it remains in wide use. What other language has a built-in Money type that handles error accumulation and rounding the way accountants expect?
"The delays caused a 4.4 percentage point relative decline in total card consumption in COBOL states relative to non-COBOL states."