3 ms·
Why do you hate using Python for production tasks?
by reesdreesd 11y ago
Why do you hate using Python for production tasks?
- Blackthorn 11y agoIn my experience/opinion: get over a certain number of lines of code and the type system starts getting in the way rather than getting out of the way. This number is not obvious and is very easy to pass without realizing it until it's too late.
- itsybitsycoder 11y agoHey, not arguing, just curious, do you have some examples of times where the type system has gotten in the way? And what languages you prefer to use for production systems that don't have those problems?
- yen223 11y agoSimple example: Say you're working with an external library. And say you need to work with this function: def convert_to_int(val): .... What type should val be? Do you pass the object, or a string representation of the object, or...? The problem with Python - and non-statically-typed languages in general - is that function signatures don't need to be defined upfront, which leaves it up to the programmer to figure out the inner workings of the functions. This is a huge pain point when working with other people's code. Python 3 introduced function annotations, which is great. But again, the problem here is that function annotations are opt-in. It's still up to the developer to add the annotations.
- Blackthorn 11y agoI can't give concrete examples because it's closed source code. But my personal biggest issue is class inheritance. It just becomes a complete mess. Very difficult to find what is set where, what is overridden where, what gets called where. I know I'm going to get some crap for this, but for big prod systems I prefer C++.
- gamechangr 11y agoBlackthorn is spot on. It's not enough to just "upvote" it.