zlacker

[parent] [thread] 3 comments
1. mbrees+(OP)[view] [source] 2025-11-20 02:46:33
You could really make a business case study (well, a project management case study) out of the Python 2 -> 3 transition. It was a very well executed plan. It started with a clear definition of where they were headed (v3) with some good reasons for the technically minded. But the transition itself was really... really... slow.

It was methodical and deliberate, but slow.

But I think it really happened because developers wanted to move to 3. There was enough momentum and upside for moving to 3 that the Python core developers could keep the migration on track without having to drag people along from 2 -> 3 before they were ready. Making sure that the transition was optional for a long time helped tremendously.

I was quite happy working in Python 2 for a long time and only transitioned over to 3 for new projects or code that I thought would have a long lifetime. This was very much a reason why I moved to 3 instead of to another language.

At the same time, I'm not sure what language I would have switched to for the things I was using Python for... Perl was out as it had it's own disastrous migration. Ruby was an option, but never really hit the general-purpose scripting language mark for me.

replies(2): >>will42+hi >>musica+Ac3
2. will42+hi[view] [source] 2025-11-20 05:54:13
>>mbrees+(OP)
> It was a very well executed plan.

Uh.. You've started in the middle. Python 3.0, 3.1, and 3.2 were insufficiently compatible to support a migration. If not for the effort to reduce 2 to 3 incompatibility by shipping 2.7 and 3.3, 3 could really have failed. I'd say the initial plan was not so good but then the _replan_ after the first setbacks was good.

replies(1): >>mbrees+QU3
3. musica+Ac3[view] [source] 2025-11-21 02:32:04
>>mbrees+(OP)
It was a plan that obsoleted billions of dollars of working code and wasted huge amounts of time (undoubtedly multiple human lifetimes.)

Actual language standards that multiple stakeholders agree on are a much better approach.

Platforms should absorb pain, not multiply it across all developers that use the platform. (I wish Apple would learn this lesson.)

◧◩
4. mbrees+QU3[view] [source] [discussion] 2025-11-21 11:04:19
>>will42+hi
I never saw the initial versions as viable versions for production work. IIRC, neither did the authors. Part of what I think was so good about the plan was that it was a parallel track for so long. They didn’t start the process of sunsetting v2 until v3 was ready to take on the migration. The specific steps taken, versions released, that wasn’t what was so good IMO. It was the time scale. This was a good decade long transition. The fact that Python thought it would have that much time to make the transition was audacious, but it was going to take that long. And now we have a better language that has supported many more years of growth.
[go to top]