6 ms·
This is nice, but not really much of a surprise. With tons of ready-to-use libraries for string processing, machine learning, images, graphics, game developmen
by truly 5y ago
This is nice, but not really much of a surprise.
With tons of ready-to-use libraries for string processing, machine learning, images, graphics, game development, web, etc., there is not much to dislike about it. It is my goto language for quick scripts -- works flawlessly on Windows/Linux/Mac.
The only downside is efficiency and being one-threaded, but if you are gluing together library calls, which you are most of the time, then it is good enough.
- r-zip 5y agoI disagree. Python's popularity is actually kind of tragic. The package ecosystem leads many to choose Python, which has both maintenance and performance scalability issues (not to mention the sorry state of packaging, distribution, and parallelism). So it causes plenty of headaches, despite its friendly syntax. In those senses, choosing Python is like a trap.
- silicon2401 5y agoI've always wished that Ruby had the place of Python. For all the love that Python syntax gets, Ruby syntax and the gem system are an absolute joy to work with.
- singularity2001 5y agopython is built on solid fundamentals, ruby less so. I used to love ruby, but their inner workings seem more ad hoc if you look under the hood (AST and broken operator logic)
- zerocrates 5y agoHuh, I've always found dealing with gems/bundler to be a pain point. I'm sure to some degree it's just that nobody likes whichever package system is the "one more" in their workflow.
- lvass 5y agoI absolutely agree, but this sort of tragedy is a bit unavoidable. What language would you choose to have that ecosystem instead? The next thing right now is probably JS which is even worse. Every language has plenty of issues. Python's worst IMO is how C extensions and other stuff are tied to an interpreter definitely unsuited for it's popularity. Parallelism shouldn't really creep in considering how most code is written. The only language I can think of being better is Lisp if somehow the lisp curse wasn't a thing.
- Zababa 5y agoJS has at least good package management and distribution compared to Python.
- lvass 5y agoKind of. Python definitely has more legacy cruft, but also has an npm equivalent PEP 582 with a working example, pdm. I don't see how JS is better unless you include web browsers as distribution. It's mostly people thinking bare `pip install` is a reasonable way to add various applications to your system that complain about python packaging. I'm not saying Python packaging doesn't suck, it definitely does. But so does JS and the mess that the npm ecosystem is makes working with it it much more painful.
- Zababa 5y ago> Python definitely has more legacy cruft, but also has an npm equivalent PEP 582 with a working example, pdm That's part of the problem. Python has lots of things that cover lots of things, but nothing does everything. > It's mostly people thinking bare `pip install` is a reasonable way to add various applications to your system that complain about python packaging. It is reasonable in JS, and I think it should be. Having to worry about virtual environments is a pain, and having to learn new tools to avoid that is a pain too. > I'm not saying Python packaging doesn't suck, it definitely does. But so does JS and the mess that the npm ecosystem is makes working with it it much more painful. I don't think that's a good point. The JS ecosystem adapted quickly to TypeScript, while Python is lagging behind. Most of the new JS features are reasonable, and the backwards compatibility is top-notch. Meanwhile, Python is spending brain power on pattern matching and :=. JS is missing something like Django, but on the other hand Python has no React equivalent. All of that without mentioning speed or the fact that JS has multiple implementations that works very well with almost all the ecosystem.
- BeetleB 5y ago> The package ecosystem leads many to choose Python, which has both maintenance and performance scalability issues My guess is that easily 95% of Python projects will never hit these issues. In all my years of professional Python programming we didn't hit them. Most projects simply do not need to scale, and will not benefit from it.
- r-zip 5y agoI think it definitely depends on where you are and what you're doing. In 3 of my 4 years of professional Python experience, we have run up against scaling, maintenance, and parallelism issues constantly.
- truly 5y agoFor large projects, sure. But most uses are small one offs.