News: 0178051369

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Python Creator Guido van Rossum Asks: Is 'Worse is Better' Still True for Programming Languages? (blogspot.com)

(Sunday June 15, 2025 @03:34AM (EditorDavid) from the feature-creep dept.)


In 1989 a computer scientist argued that more functionality in software actually lowers usability and practicality — leading to the counterintuitive proposition that " [1]worse is better ". But is that still true?

Python's original creator Guido van Rossum [2]addressed the question last month in a lightning talk at the annual Python Language Summit 2025.

> Guido started by recounting earlier periods of Python development from 35 years ago, where he used UNIX "almost exclusively" and thus "Python was greatly influenced by UNIX's 'worse is better' philosophy"... "The fact that [Python] wasn't perfect encouraged many people to start contributing. All of the code was straightforward, there were no thoughts of optimization... These early contributors also now had a stake in the language; [Python] was also their baby"...

>

> Guido contrasted early development to how Python is developed now: "features that take years to produce from teams of software developers paid by big tech companies. The static type system requires an academic-level understanding of esoteric type system features." And this isn't just Python the language, "third-party projects like numpy are maintained by folks who are paid full-time to do so.... Now we have a huge community, but very few people, relatively speaking, are contributing meaningfully."

>

> Guido asked whether the expectation for Python contributors going forward would be that "you had to write a perfect PEP or create a perfect prototype that can be turned into production-ready code?" Guido pined for the "old days" where feature development could skip performance or feature-completion to get something into the hands of the community to "start kicking the tires". "Do we have to abandon 'worse is better' as a philosophy and try to make everything as perfect as possible?" Guido thought doing so "would be a shame", but that he "wasn't sure how to change it", acknowledging that core developers wouldn't want to create features and then break users with future releases.

>

> Guido referenced David Hewitt's PyO3 talk about Rust and Python, and that development "was using worse is better," where there is a core feature set that works, and plenty of work to be done and open questions. "That sounds a lot more fun than working on core CPython", Guido paused, "...not that I'd ever personally learn Rust. Maybe I should give it a try after," which garnered laughter from core developers.

>

> "Maybe we should do more of that: allowing contributors in the community to have a stake and care".



[1] https://en.wikipedia.org/wiki/Worse_is_better

[2] https://pyfound.blogspot.com/2025/06/python-language-summit-2025-lightning-talks.html



Re: I don't think anyone cares (Score:2)

by 50000BTU_barbecue ( 588132 )

First mention I can find is here

[1]https://science.slashdot.org/c... [slashdot.org]

He is missed for sure.

[1] https://science.slashdot.org/comments.pl?sid=23153823&cid=64066077

Re: (Score:1)

by Anonymous Coward

Netcraft confirms it

Re: (Score:2)

by martin-boundary ( 547041 )

IIRC, the term robot comes from the Slavic rabota, "work". Thus Capek didn't invent anything, he was simply referring to [1]"workers" [wikipedia.org].

[1] https://en.wikipedia.org/wiki/R.U.R.

Re: (Score:2)

by serafean ( 4896143 )

Capek was Czech, and in Czech "robota" means a very specific type of work: corvee. Work for the feudal lord as a form of taxation.

[1]https://en.wikipedia.org/wiki/... [wikipedia.org]

[1] https://en.wikipedia.org/wiki/Corv%C3%A9e

Re: (Score:1)

by Anonymous Coward

Nah, Paul Stanley and co were around in the 70s.

Yeah it's nice if all your users sit down the hall (Score:1)

by RightwingNutjob ( 1302813 )

Then it doesn't matter if there's a glaring bug or missing features because the glaring bug can be avoided by handshake agreement and the missing features simply don't exist in your little social bubble of geeks.

I've written and worked on several large (100kloc+) pieces of software like that over the past 20 years or so.

And then a commercial package comes along that costs something north of $50k/seat but actually fixes all those bugs and handles the corner cases y'all were too lazy to implement.

But of cours

Yes. (Score:5, Insightful)

by jddj ( 1085169 )

Feature-itis is the death of usable, useful software, commercially or Open Source.

I don't mean you can't SELL such software (*cough*MS-Office*cough*), but the software sucks.

Apple's success is understanding that one simplifies by removing choice, and this helps _most_ people find the software more usable and useful.

(And no, Apple doesn't walk on water, and yes, they make tons of mistakes and bad choices. No fan-boi here.)

There are a number of constituencies who will _hate_ software simplified this way. One of those is the typical developer, who's an "ultimate customizer" and typically wants all the options available and discrete control over them.

This difference between developers and "most people" is one of the reasons so much software has awful usability: Developers build it for someone like themselves. If there's no one with the professional capacity of evaluating a design's usability, or no corporate will to understand and implement the findings of such an evaluation, the software is gonna suck, for most people.

Yes, there are a few unicorns out there: Developers who know that the typical developer isn't like most people, and can empathize with people who aren't customizers. But they're scarce as...unicorns.

And there are a few use cases out there (IDEs, for example) built for these customizer constituencies, which do well by providing all the options for them. It's often hell getting these expert-focused tools past the usability staff, who, obviously, aren't like developers, and can't see their own blind spot here.

Re: (Score:2)

by Tony Isaac ( 1301187 )

Since the article is talking about the development of the Python language itself, this would fall into the category of software used by "customizers" who do want everything.

Even in software development tools and languages, there is a such thing as too many options. Cygwin is one such developer tool, where you have hundreds of options at install time. At that point, I have no idea about half the options.

On the other hand, one of the reasons I *love* .NET programming, is that it has a million built in tools a

Re: (Score:2)

by arglebargle_xiv ( 2212710 )

Barely relevant but TFA links to the Wikipedia definition for Worse is Better, specifically the New Jersey Style vs. the MIT Style, which is notable for being written so badly that, for any given software projects, it's pretty much impossible to tell whether it follows their definition of MIT vs. NJ. Or more specifically if you ask five different people which definition it follows you get six different answers.

Re: (Score:2)

by Fons_de_spons ( 1311177 )

Hear hear... had to help out a colleague recently. She could not add an attachment in outlook. (We do not use outlook often). I noticed I was overwhelmed with all the buttons and features of the program. Took me half a minute to find the button. An email program should not be that complicated, as Apple clearly understands. Less is more. Looks like microsoft is moving more towards the simplification though. Winwows has become more oriented towards the (boring) average user.

Re: Yes. (Score:2)

by simlox ( 6576120 )

As a software developer, I also hate over-complicated tools. I shy away from IDEs, I use a small subset of Emacs with hardly any customization, as a simple editor. One of the reasons I hate IDE driven development, is that it forces you into that box, instead of given you the freedom to integrate many small tools each good at a small task - the Unix way. When your world view is through a specific system (IDE or language) you demand hugely complicated tool that needs to do everything. All systems, unfortunat

Re: (Score:2)

by Viol8 ( 599362 )

Same here. My dev toolset is vi-gcc-gdb-strace. Done. Can't be arsed with some IDE that requires me to create a friggin "project" or "solution" before I can write a line of code never mind compile it and buries some compiler options 2 or 3 levels down.

If worse is better then Python wins (Score:2, Insightful)

by Anonymous Coward

If worse is better then Python wins because even minor version updates break everything. Morons.

Not to mention everything else wrong with it. Slow, whitespace syntax, etc.

More high level concepts just for the sake of it (Score:1)

by Anonymous Coward

With all major feature already present in the core of the language, useful idiots turn to all these exotic theoretical high level concepts as if they come at no cost.

In the end your language will be slower and less understandable.

It is just like sticking to indentation as part of your syntax because in the 70's all you had was this 40 character CRT to program on and never could image one day working on a 5K 32 inch display.

Maturity (Score:2)

by Fons_de_spons ( 1311177 )

This is called maturing. Python is mature now. A lot depends on it. It can't fool around anymore.

Time for someone young to reinvent the wheel.

MMM-MM!! So THIS is BIO-NEBULATION!