4 ms·
"python is bad" Supporting evidence: 1. It looks ugly 2. Why is there more than one python? 3. Whitespace is dumb 4. Dynamic typing is bad 5. No support f
by erhk 5y ago
"python is bad"
Supporting evidence:
1. It looks ugly
2. Why is there more than one python?
3. Whitespace is dumb
4. Dynamic typing is bad
5. No support for constants
The article fails to even consider that languages are different tools for different problems where a valid argument can actually be found.
Why do you need constants? How can you argue that types are necessary but simultaneously permit magic numbers?
There are certainly some valid shortcomings of python, none of which the author mention.
I'll also add that a lack of backwards compatibility with python2 is painful but not unheard of in other languages and libraries. Not that the author presented it as a complaint about compatibility, rather about being given too many options. I wonder which C compiler they use?
- MikeUt 5y ago> Why do you need constants? How can you argue that types are necessary but simultaneously permit magic numbers? Magic numbers like Pi?
- erhk 5y agoIn my experience any constants in enterprise are best defined in config or as flags, something like a mathematical constant would ideally come from a library(math.pi for python), would be interested in counter examoles
- MikeUt 5y agoYou can assign a new value to math.pi in python. You can assign new values to those 'constants' defined in config files. If a value must not change for the lifetime of a program, you are unable to enforce that constraint, leading to bugs.
- spfzero 5y agoI think he mentions at least one: public access of instance variables. It would probably be better in most cases (large systems) to just make them all private, if you had to choose between private or public. Python can have its own conventions though, separate from the conventions of other languages. It just means the applications that Python is a good choice for are not exactly the same ones that Java or C# are great choices for.