4 ms·
I've used Python for nearly two decades. It's not a great programming language to write or maintain, and its package management makes npm (which is not great it
by jeswin 2y ago
I've used Python for nearly two decades. It's not a great programming language to write or maintain, and its package management makes npm (which is not great itself) look like a walk in the park. It's a bit unfortunate that it became AI's go-to programming language.
I know it's subjective, but if we're arguing about Swift's quality by comparing with Python, I'm not buying it.
- rsyring 2y agoTo each his own. I thoroughly enjoy Python, having used it for ~15 years now, have absolutely no issues with package management and haven't for the better part of a decade, and believe there are good reasons why Python "won" the data science, machine learning, etc. "battle." Namely, it's easy to use. It allows you to focus more on what you are trying to build than managing the language itself. It has strengths and weaknesses depending on domain just like any other language. Given it is one of the most, and sometimes _the_ most, popular programming language, I support the article using it as a comparison point.
- danpalmer 2y agoI don't necessarily disagree with you, but regarding Python winning data science, I think that's in large part to a) Anaconda creating a single cohesive alternative ecosystem, shunned by engineers but loved by data scientists who just want to get things done, and b) the fact that with a couple of major libraries/frameworks you can get most things done, Pandas, Numpy, Sklearn, maybe a few others, meaning there's less dependency management to do overall.
- rsyring 2y agoAs a thought experiment, imagine someone had built Anaconda for C and then, instead of making Python APIs out of those mostly C libraries, just left the interface as C. Same packaging solution, same libraries, but the user has to learn C. Or swap C for Go even. No memory management but still more esoteric syntax and typing, interfaces, etc. required. How far does that get? The tools you mention were built on/around Python because it was realistic to ask technical but non-programmer users to learn to use Python. The lack of explicit typing and more "conversation" nature of Python syntax is, IMO, what makes that possible. So Python "wins" and other tooling is built on/around it to make it even easier for non-programmers to operate in the ecosystem, which solidifies it's position even more.
- pama 2y agoI would love to hear positive python packaging stories because my other language packaging experiences (lisps, R, rust) felt so much better. Did you try to maintain python packages on a system with old gcc that cannot be upgraded and walk through the dependency hell explicitly while having SAT solvers fail to find compatible solutions after minutes at a time? Have you managed to keep bit-level reproducibility on future reproduction runs for more than five years in any other way than keeping the old OS and hardware around? What are your packaging tools of choice (setup.py is obsolete soon, poetry did not stick, pyproject.toml for the win I guess, conda at glacial speeds, pip too slow and prone to security risks, uv faster but incomplete, …)? Did you not encounter packages with dependency specs that no longer worked on future dates?
- theshrike79 2y agoPython is excellent as long as you run it on your own computer. Having to distribute a Python application with all of its dependencies and libraries is a pain I don't want to experience.
- deleted 2y ago[deleted]
- fumeux_fume 2y agoThey're comparing governance of the language so your bellyaching about package management seems neither here nor there.
- odyssey7 2y agoPython got adopted by academics around ‘10, because it had lower barriers for new programmers than Java (now legacy) and C (now a specialization). The language and tooling options of today mean that the initial reasons for academia embracing Python are long gone. Python now presents more barriers to new programmers than alternatives. I agree. It’s a shame that the machine learning community has married itself to Python, since it gives Python a staying force that it doesn’t really merit.
- deleted 2y ago[deleted]