News for hackers. Stuff that matters.
Re:Python’s tug of war between beginner-friendly and advance... by yout2 on Thursday February 04, 2021 @07:12PM (#26031362)
I agree with you that it's great to have a comprehensive stdlib but I think the process should be careful and gradual. Python's stdlib has a lot of stuff that is not really best-in-class or consistent in design. I think with today's ubiquity of package managers, we could get away with a smaller stdlib initially, and take time to validate libraries with real world usage before blessing them with official status.
Re:Python’s tug of war between beginner-friendly and advance... by mjmahone17 on Thursday February 04, 2021 @08:44PM (#26032107)
Most languages would probably benefit from having a “experimental for the standard lib” package that doesn’t guarantee perfection, and might get deprecated then abandoned before making it to the stdlib. But all new features go through that library first.

That experimental library could even be backed by other packages, so you could iterate on the interface while allowing other packages to continue to improve the core. But the assumption is for any clearly solved problem, these “batteries” provide one recommended way to solve the problem, and as of now it’s either the only or at least not the worst way to do it.

Re:Python’s tug of war between beginner-friendly and advance... by roenxi on Friday February 05, 2021 @02:43AM (#26034035)
Language features either can, or cannot, be used.

Claiming that a language user should be prepared for certain parts of the language to disappear is a perfectly reasonable idea. But in practice it does not work. Because either it can or cannot be used, and if it can't be used it is a waste of time, if it can be used it must be supported.

Once people use a library, there will be pressure to support it forever and the mindshare switch is a real cost. A language bleeds users every time it drops a feature. The Python namespace is still polluted by documentation and tutorials talking about how to do things in v2 too.

Re:Python’s tug of war between beginner-friendly and advance... by duckerude on Friday February 05, 2021 @05:21AM (#26034810)
Rust seems to handle it ok. Features can spend a long time being nightly-only gated behind feature flags, while nevertheless seeing real world usage from people willing to brave the risk and churn.

But Python has a very different release schedule. Rust's nightly releases nightly and stable every six weeks, while Python only releases once a year. I don't think it could adopt the same model.

Re:Python’s tug of war between beginner-friendly and advance... by coldtea on Friday February 05, 2021 @05:31AM (#26034865)
>Claiming that a language user should be prepared for certain parts of the language to disappear is a perfectly reasonable idea. But in practice it does not work

Well, it can. That's what you get when there's no official package and you depend on third party packages that change all the time (e.g. common in the Node ecosystem, in GTK+ land, etc.), or are abandoned, etc.

Compared to that, a scheduled, anticipated process for candidate packages to include in the language (or remove eventually) is much easier.

Re:Python’s tug of war between beginner-friendly and advance... by systemvoltage on Thursday February 04, 2021 @07:14PM (#26031374)
Indeed, but from your own original comment - we have hindsight. So we can build an excellent std lib from the get go.

There are other bundles that are very popular for a reason. Conda. That's all you need to know. People want stability of dependencies, not wild wild west on pulling libs from random github repos.

Re:Python’s tug of war between beginner-friendly and advance... by BadInformatics on Thursday February 04, 2021 @07:34PM (#26031586)
IMO the bundling and curation is the least interesting part of Conda. What's really nice are the build infrastructure, quality checks and proper dependency bounds (looking at you, PyPI). Something like R's CRAN already has those without bundling.
Re:Python’s tug of war between beginner-friendly and advance... by nerdponx on Thursday February 04, 2021 @11:07PM (#26032993)
And now we have Mamba, which is just like Conda. Except it has a better-documented (and more open) tooling ecosystem. And it lacks the debilitatingly slow/unreliable dependency resolution of Conda.

https://mamba.readthedocs.io/en/latest/

Re:Python’s tug of war between beginner-friendly and advance... by systemvoltage on Thursday February 04, 2021 @07:42PM (#26031660)
Can poetry do that or that’s different?
Re:Python’s tug of war between beginner-friendly and advance... by nerdponx on Thursday February 04, 2021 @11:31PM (#26033133)
Poetry is pretty much a Setuptools replacement, with optional features to help manage Python virtual environments.

It's not a package manager and it does not provide any environment isolation of its own. Conda provides both of those things, and quite a bit more.

They are totally different tools. Conda is more like Homebrew than Poetry.

What Poetry and Conda have in common is a not-really-bad dependency resolver.

Re:Python’s tug of war between beginner-friendly and advance... by pjmlp on Friday February 05, 2021 @03:19AM (#26034201)
Standard library works pretty much in every platform the language targets, a random package on a package manager might be available, with luck.