Live data from Hacker News

“Python's batteries are leaking”

pyfound.blogspot.com

381–390 of 420 posts

Re: “Python's batteries are leaking”

#381
post #376

Earlier quoted context omitted.

Those libs did not come out of nowhere, and the language did not rise from 1991 to the today without inherent qualities that draw people to it. Python didn't have any specialty like PHP, or an accidental monopoly like JS. It didn't come with a killer app like Ruby. It hasn't been made by a giant company like Go. It's pretty much a self-made language.

There’s other languages that fit the same criteria that are much better: Scala, OCaml, Racket, or Haskell. The inherent qualities that draw people to Python are that it’s so inexpressive and crippled that you can learn it in 30 minutes.

What you call crippled, some call it sculpted. What you call inexpressive, some call it readable.

You have a lot of contempt to offer, I'll let you with it and get work done.

Re: “Python's batteries are leaking”

#382
post #202

Earlier quoted context omitted.

That's happening: https://pythonclock.org/ To ensure things move along: pip has been printing highly-visible "python 2.7 will deprecate soon" warnings for a couple months or so now.

And backing out of it when running on pypy, as that does not deprecate python 2 compatibility...

Sure. Pypy is a separate implementation, they only control CPython. That's a pretty normal arrangement - official moves on, other forks might backport fixes for longer or focus on stability or some other realm of performance or something.

Re: “Python's batteries are leaking”

#383

Earlier quoted context omitted.

Sure, but in Python's case, what's wrong with bundling a light wrapper around a well maintained C library?

That it would be inferior to pyca/cryptography?

Honestly, I've no idea.

For all I know some Python devs are even more sophisticated about security than the C developers who are maintaining libraries for Linux and *BSD distros.

Re: “Python's batteries are leaking”

#384
post #201

Earlier quoted context omitted.

Not true. The more external dependencies you add, the more likely it is that one of them will break. I try to have as few external dependencies as possible, and to pick dependencies that are robust and reliably maintained. There is so much Python code on GitHub that is just broken out of the box. When people try your software and it fails to install because your nth dependency is broken or won't build on their system…

They're typically broken out of the box because they don't pin their dependencies. pip-tools[1] or pipenv[2], and tox[3] if it's a lib, should be considered bare minimum necessities - if a project isn't using them, consider abandoning it ASAP, since apparently they don't know what they're doing and haven't paid attention to the ecosystem for years. [1] https://github.com/jazzband/pip-tools [2] https://docs.pipenv.org…

Requiring people to "pay attention...for years" is not the way to build long-term robust software.

Re: “Python's batteries are leaking”

#385
post #202

Earlier quoted context omitted.

Hopefully the “python foundation” will declare python 2 deprecated soon so that it can be handed over to responsible maintainers.

That's happening: https://pythonclock.org/ To ensure things move along: pip has been printing highly-visible "python 2.7 will deprecate soon" warnings for a couple months or so now.

Probably only on a recent pip version. Pip 10's dependency resolution doesn't like our requirements files (we have contradictory versions that work due to the order they are in the file), so we've mostly only gone up to pip 9.

Re: “Python's batteries are leaking”

#387
post #369

Earlier quoted context omitted.

I dunno, Python is the epitome of a "meh" language. Guido has help Python back with his antiquated "get off my lawn" attitude since he created it. The language itself is inferior in expressiveness and performance to almost any other modern language. The only reason anyone uses it anymore is the network effects of the library are very strong, especially is fields relating to ML and data science.

Those libs did not come out of nowhere, and the language did not rise from 1991 to the today without inherent qualities that draw people to it. Python didn't have any specialty like PHP, or an accidental monopoly like JS. It didn't come with a killer app like Ruby. It hasn't been made by a giant company like Go. It's pretty much a self-made language.

I'm not sure if I'd agree. Python was pretty lucky to have numpy/pandas when "data science" started taking off a few years ago. It easily could have been another language.

Re: “Python's batteries are leaking”

#388
post #307

Earlier quoted context omitted.

From a different perspective, servers usually have a maintenance cycle to update system package where the standard library could be updated, user package on the other hand have to be updated by the user themselves ( and they could stick with the obsolete version if they want too, and could have a per project package version ) there is no convenient way for the user to update all the versions.

> there is no convenient way for the user to update all the versions. Perhaps I'm misreading this, but isn't that the purpose of package managers? I can run an `npm install foo` and update it at will.

there is no such thing like "npm update" to update all package as far as am aware for the python world ( at least as far as pip is concerned ), plus user deployed package could not be covered by update performed by the system administrator.

Re: “Python's batteries are leaking”

#389

Earlier quoted context omitted.

Also, I think the facilities are lacking for case-insensitive comparisons in Python 2, so I guess this is one thing they improved. Still don't know how to do it "correctly" when writing Python 2-compatible code.

> Still don't know how to do it "correctly" when writing Python 2-compatible code. Does writing python 2 code stop being 'worth it' at some point? If so, where is that point? It sort of sounds like you're already there. There's still people using P2 at least in part because of all the hoops people are jumping through to keep supporting it, no? I'm not a professional python dev, so it doesn't impact me as much as some…

> Does writing python 2 code stop being 'worth it' at some point? If so, where is that point? It sort of sounds like you're already there.

How do you know I'm there? If nothing else I still have my own previous Python 2 code that I've spent time on and that's useful to me! Why would I just throw them all away or waste massive amounts of time rewriting them into Python 3? Is my goal supposed to be to please the masses here?

Honestly that's sufficient reason already. But if you want a more "standard"/politically-correct response: Python 2 is still being supported, Ubuntu 14.04 LTS literally only just reached EOL last month and can be found in the wild, Python 3 support is lagging in a lot of places (e.g. PyPy is still on 3.5, although I'm just using it as an example; I don't use it much), and I still come across Python 2-based tools and packages once in a while.

So I guess the answer to your question is it "stops being worth it" when I stop coming across situations where I'd regret abandoning Python 2.

> There's still people using P2 at least in part because of all the hoops people are jumping through to keep supporting it, no?

"Because" is an odd way to put it... it's true that if they didn't support P2 then people would use P2 less, but people use it because it benefits them, not "because it's supported". I mean, you're also alive "at least in part because" of all the hoops people jump through to grow and bring food within your reach, but I doubt your conclusion is that this should stop being the case...

> They've kept a minimum target language which is far behind 'current' or even 'currently supported', and it's been a catch 22.

What I don't understand is why are people supposed to keep abandoning good software just because someone made something shiny and declared it "unsupported"? I hate this "you have to like my updates... or I will force you" attitude that every organization seems to have nowadays. People are trying to solve their own problems, not please the leader they're following.

> Hosts keep supporting PHP 5.4, for example, far later than they 'should' have, because people kept writing new stuff targeting PHP 5.4.

I mean, this isn't even the same situation? I'm not targeting Python 2 or introducing a dependency on it generally. I try hard to keep my code both Python 3 and Python 2 compatible. So the decision as to whether to move on or not is left to the client (which is often myself) and there's no obstacle either way.

Re: “Python's batteries are leaking”

#390
post #376

Earlier quoted context omitted.

Those libs did not come out of nowhere, and the language did not rise from 1991 to the today without inherent qualities that draw people to it. Python didn't have any specialty like PHP, or an accidental monopoly like JS. It didn't come with a killer app like Ruby. It hasn't been made by a giant company like Go. It's pretty much a self-made language.

There’s other languages that fit the same criteria that are much better: Scala, OCaml, Racket, or Haskell. The inherent qualities that draw people to Python are that it’s so inexpressive and crippled that you can learn it in 30 minutes.

Agreed. Most people who like Python seem to never have had experience with functional languages.
Post reply on HN