Live data from Hacker News

Reasons Python Sucks (2018)

hackerfactor.com

31–40 of 74 posts

Re: Reasons Python Sucks (2018)

#33
post #22

Some of the author's "reasons" are bogus: "My code for Python 3.5 won't work with the Python 3.7 installation unless I intentionally port it to 3.7." Sure it will, just invoke it using the Python 3.7 interpreter. I have plenty of code originally written with 3.5 that runs just fine under 3.7, 3.8, 3.9, ... "In Python, you have to work to pass variables by value." No, you don't. Python actually doesn't pass variables…

> I think this person simply doesn't understand how Python works.

To be fair, if Python does something that is so different from all other languages maybe that’s a complaint in itself, even if the original complaint is invalid.

Re: Reasons Python Sucks (2018)

#34

Here's a better list. * Performance is very bad. * Misspelling a variable creates a new one. * __init__ is a really terrible name for the constructor. * Type annotations are ignored, so nobody bothers.

> Misspelling a variable creates a new one.

IDEs/linters help with this one.

> Type annotations are ignored, so nobody bothers

If one really cares you can use MyPy to force errors on bad types.

Type annotations are very useful for IDEs, which is why they are spreading fast in the ecosystem.

Re: Reasons Python Sucks (2018)

#35

Here's a better list. * Performance is very bad. * Misspelling a variable creates a new one. * __init__ is a really terrible name for the constructor. * Type annotations are ignored, so nobody bothers.

> * Type annotations are ignored, so nobody bothers.

For any serious Python app worked on by multiple people, you need a CI pipeline that runs type checking. (And while you're there, run a format checker like black, too -- solves the tabs vs spaces "debate" the author complains about as well)

Certainly still a language flaw that it's not inherently enforced, though; unfortunately it just took the Python community way too long to realize how important strong typing is at scale.

Re: Reasons Python Sucks (2018)

#36
post #5

Overopinionated engineers are annoying. Python doesn't suck, everyone knows that. Every language has its strengths and weaknesses. Clickbaity.

Clickbaity maybe, because it’s a controversial topic. What is the line between opinionated and over-opinionated?

The tone, which often shows an unwillingness to learn. The lack of humility. Confidently stating or broadcasting facts without acknowledging why others might disagree.

Re: Reasons Python Sucks (2018)

#37
post #33
post #22

Some of the author's "reasons" are bogus: "My code for Python 3.5 won't work with the Python 3.7 installation unless I intentionally port it to 3.7." Sure it will, just invoke it using the Python 3.7 interpreter. I have plenty of code originally written with 3.5 that runs just fine under 3.7, 3.8, 3.9, ... "In Python, you have to work to pass variables by value." No, you don't. Python actually doesn't pass variables…

> I think this person simply doesn't understand how Python works. To be fair, if Python does something that is so different from all other languages maybe that’s a complaint in itself, even if the original complaint is invalid.

Do you think it does? CS is a field with many wild ideas and I don’t think python is that far into the weeds. Definitely not around 2018 when this was written. A lot of it’s big problems are 90s-scripting-language problems.

Re: Reasons Python Sucks (2018)

#38
post #33
post #22

Some of the author's "reasons" are bogus: "My code for Python 3.5 won't work with the Python 3.7 installation unless I intentionally port it to 3.7." Sure it will, just invoke it using the Python 3.7 interpreter. I have plenty of code originally written with 3.5 that runs just fine under 3.7, 3.8, 3.9, ... "In Python, you have to work to pass variables by value." No, you don't. Python actually doesn't pass variables…

> I think this person simply doesn't understand how Python works. To be fair, if Python does something that is so different from all other languages maybe that’s a complaint in itself, even if the original complaint is invalid.

[deleted]

Re: Reasons Python Sucks (2018)

#39
post #5

Overopinionated engineers are annoying. Python doesn't suck, everyone knows that. Every language has its strengths and weaknesses. Clickbaity.

> everyone knows that

Uh, no. There’s a reason I prefer Node, Deno or Rust, and the reason is that Python sucks.

Or at least sucks more than either of those.

Re: Reasons Python Sucks (2018)

#40
post #33
post #22

Some of the author's "reasons" are bogus: "My code for Python 3.5 won't work with the Python 3.7 installation unless I intentionally port it to 3.7." Sure it will, just invoke it using the Python 3.7 interpreter. I have plenty of code originally written with 3.5 that runs just fine under 3.7, 3.8, 3.9, ... "In Python, you have to work to pass variables by value." No, you don't. Python actually doesn't pass variables…

> I think this person simply doesn't understand how Python works. To be fair, if Python does something that is so different from all other languages maybe that’s a complaint in itself, even if the original complaint is invalid.

> if Python does something that is so different from all other languages maybe that’s a complaint in itself

No, it's just a reason not to use Python if you have trouble understanding how it works. That's true of any tool.

Post reply on HN