3 ms·
While I hate actually using it for production tasks, I have to admit that Python is the best language ever to learn. Its syntax doesn't really get in the way at
by Blackthorn 12y ago
While I hate actually using it for production tasks, I have to admit that Python is the best language ever to learn. Its syntax doesn't really get in the way at all and it is extremely understandable. It's also widespread.
- reesdreesd 12y agoWhy do you hate using Python for production tasks?
- Blackthorn 12y 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 12y 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 12y 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 12y 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 12y agoBlackthorn is spot on. It's not enough to just "upvote" it.