Preferences

Second system effect is the curse of FOSS projects. It's been that way for decades. I don't see a reliable solution for the structural problem that doesn't somehow end up like a Benevolent Dictatorship. At the end of the day, designing complex systems by committee is hard to do. Maybe there is a maximum size of a group beyond which the communication matrix between the members starts to fracture?

"that doesn't somehow end up like a Benevolent Dictatorship"

Is that a problem though? If you want to get shit done, you need someone to take responsibility for the decisions. Otherwise you get design-by-committee and endless bikeshedding and software nimbyism.

I don't see how else it could work...

I would claim the dictators -- even the "benevolent" ones--tend to do this more often than committees, as they have more inherent power to do so: the committees tend to get stuck in backwards compatible land forever (for better or for worse). I mean, look at Larry Wall or Guido Van Rossom with their respective debacles. Bjarne Stroustrop couldn't mess up in that way even if he seems to want to. As another example, HTTP only started having this problem with Google being able to railroad everyone. The only major second system effect caused by what I believe is a committee that I can easily come up with is IPv6?
IPv6 is a victim of the nature of the problem and a lot of under informed observers. I see too many comments asking why it's just backwards compatible or suggesting less bits would make it easier.

There are real problems but really the issue is that it was a hardware and software problem wrapped into one as well as being a collective action problem.

Which Guido van Rossum debacle are you referring to? I can't think of one where he unilaterally caused a mess by dictating a hampered "second system" into life, as your comment seems to imply, but may just me misunderstanding or being ignorant.

The closest thing I can imagine is where he actually resigned as benevolent dictator after having to meditate the walrus operator design committee/community, which is not a good example for your argument. Python 3 also does not seem to fit the bill as a "debacle" or a "second system" in the usual parlance.

I'm asking because I'm interested to learn of a significant event in Python's history I might not be aware of.

Python 3 was a debacle that nearly destroyed the Python ecosystem due to egregious incompatibilities when it was decided that, not only could they fix a few important things, but in the process they might as well throw backwards compatibility entirely away and encourage people to treat it as a new language. It was over a decade between Python 2 being declared dead and Python 3 being usable, and many of the key groups of people who actually used Python during that time actually did give up and move on: as an example, if it were not for that mess, Python would likely own web development. And the big corporate backer that helped popularize it in production -- Google -- largely did give up, and started working on Go, while the community focussed on stuff that Google thought was not just a waste of time but made their efforts constantly break. That data scientists (including at Google) appeared to give it a new life in machine learning was super lucky.

I dunno... maybe read this? (edit: I forgot to add the link, lol; I have now added it ;P.) If you weren't there at the time, maybe it is easy to pretend none of this had happened, but it was a super big deal and there were the same kinds of bullying campaigns to get people to upgrade even when stuff was clearly slower and more broken and you knew it would become easier to port later.

https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journ...

Frankly, it all started to finally turn around in the Python 3.3-3.7 timeframe, with the biggest turning points being 3.6/3.7, which is when Guido finally was cracking under community pressure against his agendas and decided to start forming a committee to manage the language, before stepping down... until just now I hadn't realized that that was probably the thing that truly saved that language.

I picked up Python around 2.5 and went through the migration to 3. Although it was not smooth and took a while on the whole, it was very painless for me, and in my environment I did not experience it as such a big almost-catastrophe as you describe it. Python is better for it, and personally I'm very grateful for the Unicode compatibility breakage they did.

I get that your experience may have been different, and I appreciate that the transition cannot be said to have gone well (despite ending well); but nevertheless I feel that using words like debacle paints an overdramatic picture that suggests an outcome far removed from where Python is today, and it does not leave much linguistic room for the multitude of possible worse occurrences that would truly deserve to be called a debacle. But that's of course just my opinion.

I guess, in my mind's eye, I see a world in which Python dominated, and that didn't happen: it didn't die the death Perl did, but, in the grand scheme of where it was going -- and even what it had been -- it has become a very niched language: we now only really see it in education, machine learning, and (sometimes) system administration (but even that has been losing to Go). It didn't entirely disappear, and it actually got where it was going (unlike Perl 6), but it seems very strange to say it "ended well"... they squandered a decade on some really bad decisions that they only started to undo around 3.3-3.7, and the ecosystem simply moved on (in some cases quite forcefully, such as Google going to great lengths to get off of Python via Go). What else can we call such a fall from grace? If not somehow a debacle it is certainly a tragedy...
Maybe I am just in a happy little Python niche, then. I'm saying this in all earnesty. Maybe Python could have been bigger, I don't know. It still seems very present, it did not die, but came out better than before.

Given the performance difference between Python and Go, and the rationale given for its invention, I'm not convinced Google would somehow have a chosen Python as their blessed language, as you seem to suggest.

Anyway, we seem to have different measuring sticks for things like debacles and tragedies. :)

This item has no comments currently.