Live data from Hacker News

Python Is Eating the World

zdnet.com

431–440 of 993 posts

Re: Python Is Eating the World

#431
post #33

Python has a lot of problems that really slow down development, but they are all fixable. The biggest issue, in my opinion, is in dependency management. Python has a horrible dependency management system, from top-to-bottom. Why do I need to make a "virtual environment" to have separate dependencies, and then source it my shell? Why do I need to manually add version numbers to a file? Why isn't there any builtin way…

It's not that bad if you use the right tools. The two main options are an all-in-one solution like poetry or pipenv, and an ensemble of tools like pyenv, virtualenvwrapper, versioneer and pip-tools. I prefer the latter because it feels more like the Unix way. Why should Python have some "official" method to do this? Flexibility is a strength, not a weakness. Nobody ever suggests that C should have some official packa…

In general, leaving such things open leads to a proliferation of different 'solutions', as multiple people try to solve the issue... leading to the additional confusion and cognitive load of trying to find a single solution which suits your use-case and works, when often none of them are perfect.

Sometimes a 'benign dictator' single approach has benefits...

Re: Python Is Eating the World

#432

Earlier quoted context omitted.

I honestly think you've just worked on bad projects. Python isn't the perfect language but the quality of the available libraries makes it awesome. The individual quality of projects in any language will always vary.

My criticism is mostly aimed at the language (and its standard library) itself. The major projects I worked on, I architected from the beginning. It is when designing and architecting reliable systems that Python's terrible nature hits you in the face, especially if you're used to better languages. Take the nonsensical but alluring Python motto "There should be one -- and preferably only one -- obvious way to do it."…

> I don't want a language that shoehorns my thinking into "one"-ness.

Reworrded for you:

> I don't like Python because I don't like Python

Re: Python Is Eating the World

#433

Earlier quoted context omitted.

There's a pattern to this. The later the dependency manager was created, the better it is. This is a hard problem space where each new language got to use the lessons learned on the earlier ones. Cargo, though, has a silver bullet. If it can't find a solution to determine a single version for a package, it simply includes more than one version in the object code. That would take a lot of work to duplicate in Python.

Python has had multi-version installation of libraries for a long time: https://packaging.python.org/guides/multi-version-installs/ Unfortunately, pip came along and took over, despite lacking support for that. It would have been nice if a better packaging tool had replaced easy_install, but alas.

That only helps when installing multiple versions at the same time, it doesn't help with using multiple versions in the same application.

Re: Python Is Eating the World

#434

Earlier quoted context omitted.

> Put another way, if using the interpreted language saved even one minute of developer time, it was a net win for the carbon emissions of the program Developers continue breathing even when they aren't programming.

I do not believe that was ever in question.

It's a valid objection to the statement they replied to. Saving developer time does not equate to lower emissions, so it is incorrect to call it a "net win".

Re: Python Is Eating the World

#435
post #33

Python has a lot of problems that really slow down development, but they are all fixable. The biggest issue, in my opinion, is in dependency management. Python has a horrible dependency management system, from top-to-bottom. Why do I need to make a "virtual environment" to have separate dependencies, and then source it my shell? Why do I need to manually add version numbers to a file? Why isn't there any builtin way…

saddened to see this poorly constructed comment berating python at the top of this thread. the author seems to have some personal issues with the language given the generally frustrated tone of the comment. the entire comment could have just been 1 line "We need official support for a modern package management system, from the Python org itself." which would be consumed as constructive feedback by all readers with the right context. but somehow the author chooses to "vent" adding unnecessary drama to something that does not get in the way of writing high quality production grade python apps (general purpose, web, ai or otherwise)

there is no language that is devoid of shortcomings - so to any new (this is my psa for the python community!

Re: Python Is Eating the World

#436
Holy Crap! What a lot of irrational, hyperbolic hate for Python.

I think everybody should spend their first couple of years working in Fortran IV on IBM TSO/ISPF. No dependency management because you had to write everything yourself. Or maybe [edit: early 90's] C or C++ development where dependency management meant getting packages off a Usenet archive, uudecoding and compiling them yourself after tweaking the configure script.

I'm not saying Python is perfect, but if it's causing your burnout/destroying your love of programming/ruining software development you seriously need some perspective.

Re: Python Is Eating the World

#437
post #370

Earlier quoted context omitted.

this issue outlined above doesn't exist in java, as long as you use maven.

The issue outlined above doesn't exist in Python, as long as you use Poetry.

Maven is de facto standard dependency management in Java (most of projects use it).

Poetry is not the most used (or known) dependency management in Python.

Re: Python Is Eating the World

#438

Holy Crap! What a lot of irrational, hyperbolic hate for Python. I think everybody should spend their first couple of years working in Fortran IV on IBM TSO/ISPF. No dependency management because you had to write everything yourself. Or maybe [edit: early 90's] C or C++ development where dependency management meant getting packages off a Usenet archive, uudecoding and compiling them yourself after tweaking the config…

https://conan.io/ https://vcpkg.readthedocs.io/en/latest/

You were saying about C/C++ package management?

Re: Python Is Eating the World

#439
post #437

Earlier quoted context omitted.

The issue outlined above doesn't exist in Python, as long as you use Poetry.

Maven is de facto standard dependency management in Java (most of projects use it). Poetry is not the most used (or known) dependency management in Python.

So? Nothing is stopping you from using it in your projects, thus solving your problem for good.

Re: Python Is Eating the World

#440
post #171

Earlier quoted context omitted.

I know I’m responding to opinion but: developer productivity isn’t one of the pitfalls of Python. Yes I agree that if you’re using Python for a large scale project involving lots of developers its not the best; but that’s because it doesn’t have a good type system. You can’t work out why people like it so much because of this misconception. The languages that you gave as examples most definitely do _not_ value your p…

It's unclear to me how a person can be productive if the language doesn't value correctness.

just spit out a bunch of code correct or incorrect looks productive and good on paper.
Post reply on HN