|
|
Log in / Subscribe / Register

What's in a name?

What's in a name?

Posted Dec 7, 2025 18:23 UTC (Sun) by alx.manpages (subscriber, #145117)
In reply to: What's in a name? by Cyberax
Parent article: Eventual Rust in CPython

> Yeah, like they did with Python 3.

The problem with Python 3 was backwards compatibility of the language.

> Rewriting something from scratch while the original product is still being used is almost always a bad idea.

In this case, the problem is simpler:

Rewriting something from scratch is almost always a bad idea.

Some caveat is true:

Doing it while you use it makes it less terrible, because you'll get bug reports gradually, so you boil the frog alive. If one offered the rewritten version at once, the amount of bugs would be so high that no-one would accept it.

But it's still a bad idea.


to post comments

What's in a name?

Posted Dec 7, 2025 18:55 UTC (Sun) by khim (subscriber, #9252) [Link]

> Rewriting something from scratch is almost always a bad idea.

Not true. I've seen things being rewritten from scratch by someone to become much better. In Linux and outside of Linux.

But the catch there is one: if something can be understood and written by one, single person (or, maybe, very small group of persons, 3-5 people with one lead and a few helpers) then things work beautifully, very often.

If something couldn't be understood and written by one person in a reasonable timeframe (couple of years tops) then rewrite, very often, just becomes a mirror of the first attempt, just with glaring flaws in a slightly different places.

What's in a name?

Posted Dec 7, 2025 22:59 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

> Doing it while you use it makes it less terrible, because you'll get bug reports gradually, so you boil the frog alive. If one offered the rewritten version at once, the amount of bugs would be so high that no-one would accept it.

It's more than that. For complicated products, it's almost always impossible to replicate all the behaviors without actively keeping two codebases in sync. In both directions. And this is doubly complicated if the original branch continues to get new features. Perl 5 vs. Perl 6 comes to mind as a good example.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds