Comment Re:Oh goodie! AI and technical debt all in one! (Score 1) 76
Why the need for "higher innovation velocity" in a programming language as if it was an end by itself?
A stable well-defined language is good, as it allows multiple compiler/interpreter implementations, and the code will run unchanged for many decades. How old is the average COBOL code? 40-50 years old? Isn't it wonderful that code that old still runs?
Python is one of those "innovating" languages.
The language is constantly in flux, forcing code rewrites of perfectly good code because the Python language maintainers get bored and break syntax that was valid five years ago. No, they don't just add features, they also remove features.
Every year they publish a porting guide for migrating from python 3.x to 3.(x+1) and they stop supporting 3.(x-4).
So every year, many projects break, many language tutorials need to be updated, all PyPi libraries need a look, all of this in the name of "innovation" which is more often than not superfluous crud and syntactic sugar plus removal of features the language maintainers got bored of.
Losing all the working code that was written in python2 and was never ported to python3 was worth it, really?
The many million man-hours spent porting python2 code to python3 code was money well spent?
Sure, there are ways around this; for instance older C/C++ language source code can often be compiled with a specific flag, such as -ansi or -std=c90, but that's more an exception than the rule. I see no such possibility in Ruby, PHP, Python, Guile, Java, and so on.
TL;DR: rewrite 50-year old COBOL code once in an "innovative language" and odds are you'll be forced to rewrite many parts of it in less than 10 years. Then less than 10 years after, and so on.