COBOL is trending, so people are asking "Why are we still using software from the '60s? Can't we rebuild those systems with modern tech?"

As a support tech, here's my answer: nobody's rebuilt the systems, because we all want the illusion they were built correctly the first time.
It is very hard to get two independent computing systems to agree on something, particularly where the computation contains messy human data.

You have one system giving a number? You have a Source of Truth™️.

You have two systems giving different numbers? You have a Problem.
"How could two computers differ? Computers are math!"

Eh, sort of. But software — particularly modern software — is a "turtles all the way down" situation. Layers of abstraction.

And in building each and every one of those abstraction layers, a *human* made *decisions*.
Example: you're generating an invoice with 15% tax. There's a bunch of items on this invoice. How do you get the total?

Do you add each item, and *then* apply the tax?

Do you tax each item, and then add?

Fractions of a penny! ROUNDING! Oh good gods, when do you round?
We built this stuff in the '60s? It was tested a lot! Was everything built correctly? Probably!..maybe.

But as long as nobody looks, we can all pretend it's perfect! Lots of people's lives become very unpleasant if we go down this worm-filled rabbit-hole!
Maybe someone will take on a huge upgrade / code-porting pain when they could be doing something more fun and interesting instead. Maybe.

But, my bet? We'll still be using COBOL long after I, a millennial, am dead.

~~~ FIN ~~~
You can follow @valacosa.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: