5 ms·
Problems with Python
- oxinabox 5y agoClaiming a language is bad such click-bait. Even when it is valid, it basically will get a lot of attention from haters and fanboys. It's not a title that leads to interesting discussion.
- Bostonian 5y agoThe body of the post is similar in tone: "Ah, whitespace. Another reason why Python is garbage. In a sane language scope delimiting is done with curly braces, or BEGIN and END keywords, or something similar."
- forbiddenlake 5y agoso is this satire?
- aitchnyu 5y agoIs tabs vs braces (vs spaces) relevant with current IDEs and linters which format code perfectly?
- bb88 5y agoIn short, No. Maybe when people had the same fight over vim/emacs back in the day.
- elmerfud 5y agoSomeone critical of python while posting on medium.com. I think that kind of sums it up.
- chomp 5y agoSheesh somewhat of an ignorant post. Google “pushed” Python (not sure you can call it that) because it was so popular in academia, and you can guess where a lot of Google’s staff came from. Python 2 is dead. The rest is just bikeshedding.
- jgb1984 5y agoAgreed. Clickbait title on a fluff article.
- adontz 5y agoVERY opinionated to put it softly. "Dynamic typing is bad, and anyone who disagrees with me probably hasn’t written enough software to realize it yet." I am writing software for more than 20 years already, I have written in Assembly, Bash, C, C++, C#, D, Java, JavaScript, Lua, Pascal, PowerShell, PHP, SQL, Zig. Dynamic typing is must have for any large enough software project. You either have it in language itself, or include scripting extensibility, or invent a bicycle with some kind of reflection. No modern user interface library works without dynamic typing.
- cosmotic 5y agoWhat do you consider a modern user interface library? I feel like all the interface libraries for C++, Java, and .NET are strongly typed.
- adontz 5y agoThey are not, because you need dynamic typing for data binding. One does not rebuild UI library to use custom models. It is done via reflection and code generation.
- adontz 5y agoAnd to make it clear, if you pass method/attribute/property/field names here and there as strings, you have some kind of dynamic typing. QML, XAML, Jinja, Handlebars, Razor, everything is dynamically typed and more than this, duck typed, because one rarely needs to implement some kind of interface, except maybe basic dynamic typing support, like QObject, INotifyPropertyChange or DependencyObject.
- cosmotic 5y agoCan you explain how Razor is dynamic? Do you have an example? Last I used Razor, you defined the statically-typed model at the start of the file then had strongly typed references throughout the page.
- ivraatiems 5y agoThis post isn't a list of reasons why Python is bad. It's a list of design choices in Python the author disagrees with. A "bad" language isn't a language that uses typing discipline X or keyword convention Y or whatever that you don't like. A language is bad when it is inconsistent, buggily implemented, hard to use correctly, etc. JavaScript and PHP (the latter much less so recently) are good examples of widely used languages that are, from a more neutral design standpoint, arguably quite bad. Python does things I wouldn't choose to do if it were up to me, and I don't regularly use it, but I don't think it's "bad" in the same way.
- cosmotic 5y agoDesign choices have consequences. If those consequences are consistent, and consistently bad, I think it's a fair point to call them out as mistakes or bad choices.
- ivraatiems 5y agoI suppose I'd agree with that, but then we have to start talking about what we mean by "bad" -- bad for whom; bad to do what with? I once watched the action movie Pacific Rim with a friend who told me she didn't like it because it didn't have enough story and character development. She's right that it doesn't have much of that, but it also was never trying to. It may not have been the movie for her, but that isn't the same as being a bad - poorly executed - movie. Transformers, on the other hand, is bad at achieving even what it sets out to achieve. Much easier to call that bad, in my view.
- cosmotic 5y agoIf it's bad by one metric for one person but not-good for all other people in all other metrics, then overall I think it's fair to call it bad. You don't need to rigorously define bad to establish bad; a brief survey of common metrics and how something ranks is acceptable.
- jeppesen-io 5y agoVery typical of a "X is a Bad Y" or it's sibling "You should never use X". Someone has a distaste for a technology and feels like everyone else who uses it must be ignorant then tries to find any and all reasons to support that feeling Ironically I feel this author is rather ignorant, if not close minded
- ochronus 5y agoClick-bait with no meaningful content.
- rchaves 5y agohow the hell did this post get 1.2k claps? It's terrible
- MrDresden 5y agoThis is simply a rant, and not worth reading (I stopped at the first usage of 'Python sucks'). Discussing the merrits, and criticizing aspects, of a programming language is fine and should be done. Having a healthy critical debate about most things is normal and necessary. Please lets try bringing the quality of the discourse up a few levels.
- DemocracyFTW 5y agoto the author's credit, he does describe himself as a "Opinionated software engineer" /s