Live data from Hacker News

“I'm basically giving myself a permanent vacation from being BDFL”

mail.python.org

211–220 of 764 posts

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#211
post #193

Earlier quoted context omitted.

To be fair, the person stating that Python 3 breakage was a fantastic decision probably should've avoided referring to that as such, as it almost certainly invites disagreement on a controversial topic.

No, that's giving the flamemongers a flamer's veto. It's a perfectly sensible thing to mention when talking about the difficulties of leading the Python project and offering an opinion on how Guido van Rossum handled them. Picking out that one opinion and yelling little more than 'fite me' back at the person is not a perfectly sensible thing.

Then if someone disagrees & an argument erupts, then that should not be surprising - that post is equally as culpable for igniting a well-discussed issue by posting something clearly so opinionated/leaning towards one side of an issue that at this point one should have known better than to even allow a conversation to digress in that direction if that person wants to avoid that discussion.

To ignore that is to straight up deny what can only be described as flamebait.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#212

Earlier quoted context omitted.

I think that having strong opinions on how others should be developing software is how communities become toxic like this. "Shooting yourself in the foot is your fault for not using a linter that detects accidental misuse of assignment!"

I'm still puzzled to why would a compiler allow assignment in an explicit conditional (outside of loop syntax). It's like a baked-in blindspot that most people just want to ignore for some reason. Some languages actually guard against this well enough (eg Kotlin) and say "don't". Even with guards in place, it's not all that complicated to work around in the edge cases where you might want to do it.

Funny you should mention Kotlin; while I like the language a lot, I believe this particular feature would be of immense help in the following scenario:

Imagine you have a sealed class Foo, with `class Bar(x: String) : Foo()` and `Baz() : Foo()`.

Now, imagine you have a method, returning an object of type Foo: `fun foo(): Foo`

And you want to pattern match on the result of this method:

  when(foo()) {
      is Bar -> ...
      is Baz -> ...
  }
Now, the problem is: how do you access String field x in the first branch? The only way to do it now is to extract the methos call into redundant local variable, and then pattern match it instead of `foo()` directly as I did above.

Now imagine Kotlin had that feature; then we could just do the following:

  when(foo = foo()) {
    is Bar -> foo.x
    is Baz -> ...
  }

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#213
All this over a god damn bikeshed that no one will care one way or the other about 6 months after its implemented. He didn't loose faith after the 2->3 transitioner but but a goddamn assignment operator that works just like so many other languages.

I mean it was bound to happen at some point, but I am really disheartened that it happened in this way.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#214

Earlier quoted context omitted.

I think that having strong opinions on how others should be developing software is how communities become toxic like this. "Shooting yourself in the foot is your fault for not using a linter that detects accidental misuse of assignment!"

I'm still puzzled to why would a compiler allow assignment in an explicit conditional (outside of loop syntax). It's like a baked-in blindspot that most people just want to ignore for some reason. Some languages actually guard against this well enough (eg Kotlin) and say "don't". Even with guards in place, it's not all that complicated to work around in the edge cases where you might want to do it.

Because assignment is an expression. It has nothing specifically to do with the position being a conditional.

Conditionals need an expression, and assignment fits the bill, so it works.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#216
post #38

Earlier quoted context omitted.

Yes, it is clear as of now. I expect if a chunk of his life's work looked like it was going to go off the rails he may want to reconsider.

At the end of the day, he's not actually a dictator. He's just a contributor with a lot of influence, borne out of respect, and that will remain true regardless of any formal or informal position.

Exactly, and if the community as a whole disagreed with him there is nothing stopping them from forking and forming their own org. Nothing except hard work that is...

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#217

Earlier quoted context omitted.

I'm a little confused though, by his feelings here. Why did he feel the need to "fight so hard for a PEP" if it was so controversial, and everyone was outraged? I do understand people's points about "the age of outrage" and "internet 2018" but still: the PEP wasn't generally accepted as being a fantastic improvement, so why did he feel the need to fight so hard for it?

It was controversial syntax, inline assignment-as-expression. There's always a tension between "keep it simple stupid" and "let's make it better", especially when a large user demographic of Python are non-professional-programmers. Interestingly, C++ is going through the same process, with lots of great ideas being proposed, but the sum total of them being an even more complicated language (on top of what is probably…

That a customer of mine started a web project in Python 2 in 2015 after 7 years since the first release of Python 3 means that the Python BDFL and community managed the process horribly.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#218

Earlier quoted context omitted.

> "customer is always right" mentality does quite a bit of harm to OSS support. It goes both ways. All too often people promote their new library on HN and Reddit, wait until a bunch of people are using it as a dependency, and then abandon it without even telling anyone whether or not it’s abandoned.

Not using toy libraries for production systems is a lesson every young developer learns early on in their career.

Fortunately every young developer is also schooled extensively in telling toy libraries apart from serious ones.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#219
post #193

Earlier quoted context omitted.

No, that's giving the flamemongers a flamer's veto. It's a perfectly sensible thing to mention when talking about the difficulties of leading the Python project and offering an opinion on how Guido van Rossum handled them. Picking out that one opinion and yelling little more than 'fite me' back at the person is not a perfectly sensible thing.

Then if someone disagrees & an argument erupts, then that should not be surprising - that post is equally as culpable for igniting a well-discussed issue by posting something clearly so opinionated/leaning towards one side of an issue that at this point one should have known better than to even allow a conversation to digress in that direction if that person wants to avoid that discussion. To ignore that is to straig…

It is not flamebait to say 'I think so-and-so handled a difficult problem well', especially as part of larger point. It's flamy to respond 'u wat m8?'. It's not a complicated thing and there's no 'fairness' in treating these things as the same.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#220
post #213

All this over a god damn bikeshed that no one will care one way or the other about 6 months after its implemented. He didn't loose faith after the 2->3 transitioner but but a goddamn assignment operator that works just like so many other languages. I mean it was bound to happen at some point, but I am really disheartened that it happened in this way.

what you're seeing is the straw that broke the camel's back
Post reply on HN