4 ms·
Yeah, it's bananas. I started a new job last year at a place that has a large percentage of their codebase in Python after many years of working with OO and re
by porkloin 6y ago
Yeah, it's bananas.
I started a new job last year at a place that has a large percentage of their codebase in Python after many years of working with OO and relatively "modern" PHP. Of course, taking PHP's reputation online to heart, you can imagine my glee! To know that I would soon be working with a language that has a little more respect, clout, and professionalism!
Oh, how wrong I was.
One of the first things I noticed was the package management disaster, along with the virtual environment and local/global package issues. Just shy of a year later, and I'm absolutely flabbergasted that Python doesn't get utterly roasted online for how bad and fragmented some of the tooling is. I could go on about other frustrations I have with the broader Python ecosystem, but I'll just leave it at the point that Python folks shouldn't cast _too_ many stones in the direction of JS or PHP without knowing what the current state of tooling in those languages are.
- twunde 6y agoAs a former PHPer myself, I agree with you on all counts. Python's tooling, especially around package management is _terrible_, hand's down the worst of any major dynamic language, even comparing where they were 5 years ago to where Python is today. Virtual environments are Python's "solution" for local installs, where everyone else supports local installs by default. There's no standard way to specify dev dependencies, they're just all dependencies. Thankfully now most things are pip installable without problems unlike 5-10 years ago, but you'll still occasionally run into weird easy_install/setup/wheel issues. I'll note that my other complaint is the quality of many open source libraries are a significant step below their counterparts in PHP, Ruby or JS. Django, boto and presumably the data science libraries are top notch, but after that even heavily used projects like celery lack the level of polish that major projects in other languages have.
- Isinlor 6y agoMy experience too. I was shocked how terrible Python ecosystem is. For example stuff like dependency confusion i.e. public package with potentially malicious code overwriting private package are impossible in Composer by design. https://twitter.com/seldaek/status/1359417655762055171 https://twitter.com/seldaek/status/1359417655762055171 But pip, npm and RubyGems failed to protect against dependency confusion. So Apple, Microsoft and dozens of other companies pulled malicious code. https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610 https://medium.com/@alex.birsan/dependency-confusion-4a5d60f... We are very lucky to have awesome Jordi Boggiano in the PHP ecosystem. He is doing gods work on Composer and Packgist.