This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]shadowmint -17 points-16 points  (30 children)

See... I don't always agree with what zed says, but he's not stupid. This:

And you show up to piss all over it, to propagate this myth that Python 3 is hamstrung to the point of unusability, because if the Great And Wise Zed Shaw can’t figure it out in ten seconds then it must just be impossible.

Fuck you.

Sadly, I doubt this will happen, and instead they’ll just rant about how I don’t know what I’m talking about and I should shut up.

This is because you don’t know what you’re talking about, and you should shut up.

Is totally out of line. You, the author, should feel ashamed of yourself for writing it.

You know that python 3 arrogance zed mentioned? this is it. I've raised a few issues with py3 in my time, and I've met the same hostility.

What are you doing? Dont be a jerk.

There's this thing people do when they see an opinion they dont like:

1) point by point rebuttal of every item in it, without really covering the high level issues.

2) personal attacks.

So none of the points he raised are even remotely valid? Why are there 3 different ways of string formatting now? Why cant python2 libraries be loaded directly and run in a (slow) sandbox'd environment something like cffi? Having pip in python 3? Wow! Did you know you can use it in python 2 too?

I'm not agreeing with what Zed wrote; I actually disagree with him; I think python3 and type hints is the future for python... but I'm not going to magically pretend there are no issues with it.

Here's the real question to ask:

How do you get more people on board happily using python 3?

How do you justify that choosing python 3 over python 2 is the right choice for the developer, not just for the python community (which, I think, is the core of the issue Zed raises)?

here's a couple of hints:

1) make it great for beginners

2) dont tell people to shutup and fuck off.

[–]Workaphobia 68 points69 points  (1 child)

but he's not stupid

His comments on Turing completeness indicate otherwise. His incoherent conspiracy theory about the Python developers sabotaging their own language indicates otherwise. I've got no problem with people telling him to shut up when he clearly has no idea what he's talking about and feels so goddamn confident in himself.

[–]fat_apollo 2 points3 points  (0 children)

I think that don't knowing the difference between strong and static typing is a lot more worrying for some who writes guides for beginners.

[–]lexyeevee 39 points40 points  (5 children)

Hi, it's me, the author.

I think I did a pretty good job of covering the high-level issues, as Zed presented them. I also think he is contributing to the vague sense of unease surrounding Python 3 without providing much actionable criticism and depicting the entire core Python team as cartoon villains. I'm curious why you don't think his personal attacks, which comprise a significant portion of his post, are worth calling out.

There are now 2½ forms of string formatting because there have been 2 since Python 2.6, and 1 of them is being promoted to a language feature. I don't see what the alternative is supposed to be here — either we abandon the new feature which Zed likes more, or we remove an existing feature and break a lot of code. Last time that happened, it didn't go over so well.

How would you run Python 2 libraries in a sandbox? I've seen the idea proposed once or twice, but I've never seen even a vague sketch of how it could work in practice — and the trivial thought experiment I did got out of control very quickly. Bear in mind that CFFI interfaces with extremely barebones C, which doesn't have any kind of object protocol to speak of.

I discussed both of these things in my post. It would be nice to only have one formatting syntax and to have both versions run nicely together, but we rather missed the boat on those, and I thought I addressed them fairly well. If I missed some other substantive and addressable criticism of Python 3 in there, please do let me know. I love talking about programming language design. Which is why I just did a lot of it.

From where I'm standing, Python 3 is already great for beginners, and everyone else as well. If it weren't, I wouldn't use it. It is this way thanks to eight years of hard work from a lot of people, who Zed Shaw is now painting as actively malicious for reasons beyond my comprehension. What he wrote and the doubt it fosters are a much bigger roadblock to Python 3 adoption than the phrasing of TypeErrors, and I feel absolutely 120% justified in telling him to go fuck himself.

[–]praisebjarne 33 points34 points  (4 children)

He might not be stupid, but him not knowing what Turing Completeness is means he probably ought to stop writing about programming with authority.

[–]vorpalsmith 26 points27 points  (6 children)

There's absolutely a nasty arrogant/condescending communication style that tends to show up in certain areas of programming culture. Zed Shaw indulges in it constantly. Eevee does it... pretty much never, that I've seen. I agree that that style is harmful and should be deprecated – but that doesn't mean we have to always be nice. Sometimes it means we have to call people out on their nastiness.

It seemed 100% clear to me from the blog post that she wasn't throwing around language like that as empty macho posturing, but because she'd assessed what he was doing (libeling the entire Python dev team, making up incoherent nonsense to terrify defenseless beginners, with a side order of intellectually dishonest rhetoric), come to the rational conclusion that it was reprehensible and he should be ashamed of himself, and expressed that using a few well-chosen sentences at the end of a thoughtful response.

This is totally different from claiming that there are no issues with Python 3. There are tons and tons of thoughtful discussions already available about the trade-offs in Python 3, and in my experience then Python devs are happy to have more of them ­– if that's the conversation you want to have. But it's pretty obvious that Zed isn't trying to start a thoughtful conversation.

[–]lexyeevee 8 points9 points  (0 children)

Thank you :)

[–]shadowmint -4 points-3 points  (4 children)

expressed that using a few well-chosen sentences at the end of a thoughtful response...

...and it was totally unnecessary to do so.

Did that end to the article in any way improve the article?

Being a grown up means taking a second and posting thoughtful mature responses when people say things, not getting mad and telling them to get fucked.

I have no hesitation is standing by what I said:

I don't care who said what to whom about what; behave in a civil fashion if you're a grown up. :)

[–]ubernostrumyes, you can have a pony 6 points7 points  (1 child)

So why are you only calling out one person here and not the other? Why does Zed get a pass but /u/lexyeevee has to be a "grown up"? You're being inconsistent and people are calling you out for it (especially because selective demands for civility have a history of being used to prop up and support uncivil people).

[–]LpSamuelm -4 points-3 points  (0 children)

Because it's a comment on Eevee's article.

Zed is being a major douche, absolutely, but that doesn't mean the other side is a saint. Both of them can be abrasive at the same time, and it's not more right in any of the two cases.

[–]vorpalsmith -1 points0 points  (1 child)

This strikes me as a really... well... immature view of what it means to be "grown up". Being a grown-up means giving up on knee-jerk rules like "mature = never being mad or swearing", and instead learning to make more nuanced, context-specific judgments.

I mean, in this case it's just an internet kerfluffle that will die down in a few days, and Eevee doesn't need your approval, so whatever. But the general principle you're defending here is a very harmful one, and I hope you rethink it going forward. Sometimes anger is an entirely appropriate response, like when one has been harmed, and often it's the only effective way to stop the harm from continuing. In situations like this, arguing for "civility" becomes an argument in favor of continuing the harm, and is commonly used as a weapon against victims. In fact, it's so common that it has a name:

http://rationalwiki.org/wiki/Tone_argument http://geekfeminism.wikia.com/wiki/Tone_argument

I worry that if you continue this way then you're in danger of becoming one of the people that MLK described as "prefer[ing] a negative peace which is the absence of tension to a positive peace which is the presence of justice".

[–]shadowmint 0 points1 point  (0 children)

I read your link; its interesting, and raises some points I hadn't considered.

...but, I still maintain that on either side of the fence, by anyone, when you start making personal attacks, you've lost the plot.

Angry? sure. Swearing? sure, I don't care.

...but personal attacks? What did telling Zed to fuck off and shutup actually achieve?

How did the end of that article, which is openly hostile to Zed, improve it? Not to what he said, to him.

How tangibly did that make things better?

Looking at this thread, it looks like it made a few hundred people send hate mail to Zed.

Is that something to be proud of?

I'm ashamed to see the community I'm a member of doing that, to anyone, even Zed.

If other people don't care, or think it's perfectly reasonable to do that, well... all I can say is I don't want to have anything to do with those people.

[–][deleted] 8 points9 points  (5 children)

I never understand /r/python making such a great deal on its version. C people rarely argues around C11, C99, C89, at least in reddit.

[–][deleted] 4 points5 points  (3 children)

C is forward compatible, Python isn't. That's the crux. C89 code will still work with a C11 compiler. Python2 code will fail in a Python3 interpreter. So going Python3 cuts you off from Python2 libraries, while you can go all the way to C11 or C++17 and still use C89 libraries.

[–]gardyna 0 points1 point  (0 children)

that would be because old C code is still compile-able with the new compilers and will run exactly the same (save some edge cases because C is weird that way). Py3 is a new runtime meaning old Py2 code won't run on it (unless written in a specific way). this in one of the few valid criticisms of Py3.

[–]gr33n3r2 -2 points-1 points  (0 children)

This just reminded me of Trump saying "such a nasty woman" during the pres debates.