Re:Python 2.7.18, the last release of Python 2
by philwelch on Tuesday April 21, 2020 @01:57PM
(#22937482)
It’s not like C is the only programming language to have never broken backwards compatibility, or that conflating byte arrays and strings is as dangerous as buffer overflow.
Re:Python 2.7.18, the last release of Python 2
by kerkeslager on Wednesday April 22, 2020 @04:13AM
(#22943321)
You're right, but it's the oldest that you mentioned, which is why it has the most serious signs of age. C originated 50 years ago: give Python 50 years of development without breaking any backwards compatibility and you'd have a programming language with many of the same kinds of problems.
Re:Python 2.7.18, the last release of Python 2
by musicale on Tuesday April 21, 2020 @08:06AM
(#22934156)
People have made memory-safe compilers for ANSI C (e.g. Fail-Safe C.)
Unfortunately clang and gcc don't (yet?) have --safe or an x86-64-safe compilation target.
Re:Python 2.7.18, the last release of Python 2
by kerkeslager on Tuesday April 21, 2020 @09:08AM
(#22934596)
Yes, but without major semantic changes to the language to go the direction of i.e. Rust, you're relying on bounds checking to make it memory safe. If you're using C for performance reasons, adding bounds checking is a break in reverse compatibility, because it happens at run time and drastically degrades performance in some cases.
Reverse compatibility isn't free.