this post was submitted on 19 Jul 2025
1017 points (98.5% liked)
Programmer Humor
25448 readers
902 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I personally feel that giving the growing user base things they want is probably the most prudent reason. Constantly refusing to provide simple constructs that are available everywhere else It's not a good look. In the open source world if you do that shit enough you end up getting forked.
The context and ease of switch in a functional programming layout is a rather clean implementation.
Otherwise you end up with the crap like they're pulling with flask were you just make an unnamed, unindexed number of functions. Can you sort and organize your functions and make everything clean? Sure you can. Does it happen by default? Almost never.
You can walk up to someone else's switch and see what the options are. The code flows through that simple construct and it's very easy to understand someone else's work.
I load up someone else's flask endpoint, It's just this multi-page stream of consciousness.
You don't need switch, But there's a reason why so damn many people ask for it. Before they agreed to include "match", They said just to use getattr and write your own switch.
I think I agree with you, and I also think you probably know better than me, but - Python couldn't become what Python became without doing this exact thing very deliberately, bordering on obnoxious at times. Fundamentals or "initial state" define the characteristic strengths and weaknesses for a language, but what to add and what not to, as well as "why" and "how", over time determine the true shape and user experience (lacking a better word there) of a language.
Despite its reputation, in my view Python has always been far more opinionated about how to do things than most give it credit for.
Yeah, I don't take exception with most of their choices, and to be perfectly honest PHP has historically made a number of really bad choices and refused to fix horrible bugs.
I just feel that providing the handful of tools that have been available since C and keeping them with the same name and the same argument position only makes sense.
If people aren't cloning Python commands for their design sensibilities. When they ask for a creature comfort that doesn't affect performance, It should be more strongly considered.
I guess I should be thankful that they were no longer demanding GOTOs.