4 ms·
I feel like the world has gone insane when it comes to Python. Or have I gone insane? Python is an incredible waste of time. No types, IDEs that suck (a side e
by flyinglizard 7y ago
I feel like the world has gone insane when it comes to Python. Or have I gone insane?
Python is an incredible waste of time. No types, IDEs that suck (a side effect of not having types), very partial validation with linting tools that are an afterthought to the language, indentation is a mess (good luck moving files between different editors and environments or through clipboards), slow, agonizing deployment (pyenv? Come on).
I’ve been doing C# these past two years and it is laughably effective in comparison, almost like cheating. Standard libraries covering almost anything, tooling that couldn’t get any better, runs everywhere, lighting fast builds.
Most importantly, in C#, due to the incredible tooling and language design, if it’s built successfully then there’s a very high chance it’ll do what I want it to right out of the bat. In C/C++, much less so. In Python it’s almost guaranteed not to do anything but crash unless I’ve ran everything through in depth coverage testing and I’d still take the C# build checking every time.
My Python is pretty good, and I’ve known it for more than 15 years now. I’m not taking this position out of ignorance.
For the love of god, go learn a proper language. It can be C#, which I think is as perfect platform/language as anything, or Rust or Go or even Java.
I see young devs on their vim or Sublime editors developing Python and I want to shout to them, that’s not how it’s done. You’re missing out on decades of industry evolution and know how in things like the Visual Stdio and .NET or even Java and JetBrains/Eclipse. You’re using stones to start fires where you could just use an oven.
I still use Python, but it’s always for very short and specific programs. It’s just a bad tool for more than that. If you are unable to resist the temptation of using Python for that short program, just make sure it never ever has a chance to grow.
Regrettably the ML world lives on Python, fine; let them have it.
- pjmlp 7y agoThere is hope still. I hope that Julia eventually makes such a hit that performance gets taken more seriously as part of Python devs (yeah there is PyPy, but gets seldom used in the field). I am like you though, my introduction to Python was version 1.6, and due to my experience with its performance, I never used it for anything beyond shell scripting on steroids. As proven by Smalltalk, Dylan, Common Lisp and JavaScript, dynamism doesn't need to be slow.
- 6gvONxR4sf7o 7y agoPycharm is pretty excellent in terms of IDEs. It's quite literally IntelliJ for python.
- flyinglizard 7y agoPython’s lack of typing means the IDE heavily uses heuristics. It’s nowhere near as good as Intellisense on C#. Take refactoring a variable name as an example.
- gcthomas 7y agoThe "heuristics" are down to Python being _dynamically_ typed, not it's lack of typing, so the type can't be known until run-time. Python is actually _strongly_ typed.
- flyinglizard 7y agoSorry, I meant lack of static typing, not the lack of any typing.
- 6gvONxR4sf7o 7y ago>Take refactoring a variable name as an example. I've only ever really used intellij and pycharm, so I don't know what intellisense can offer for refactoring a variable name, but I'm curious. Can you explain what you mean?