(One reason why I dislike the terms like "professional software $something" or "industry standard" is because while they connote quality, they're defined by "as done by people who are paid to do this" and "the popular thing among people who get paid for this work", respectively. The two viewpoints - quality vs. what professionals do - are almost completely opposite in practice, given the shit show our industry is.)
Also, they use it not because they know that it saves them time, but because they're afraid other HN people like you will shame them if they don't.
That aside, I often think and read about the Toyota Production System, and notice how the industry I work in, structural steel fabrication and erection, a subset of the construction industry, has a tenancy to me nothing like it.
It’s interesting that software production has similar failings. Just recently another building in Sydney suffered serious structural faults[1]; the 737 Max is a disaster; the MacBook Pro keyboard is an unmitigated dumpster fire that, let’s be serious, got Jony Ive sacked; Tesla and Musk are pathologically deceptive.
I’m beginning to think we’ve lost the ability to build anything of genuine quality.
In my opinion we have reached and passed Peak Design and Manufacturing.
I could be wrong. What genuinely quality and durable things do humans make?
You couldn't be more wrong. The word sets the tone and frame for the entire comment. It is, in fact, the most important word of the whole comment.
> In my opinion we have reached and passed Peak Design and Manufacturing.
The second+ generation of any product is often worse in many respects, because the companies figure out which corners they can cut without losing the customer.
> What genuinely quality and durable things do humans make?
Humans don't really care much for durability, perhaps because they're not durable themselves.
That would be what Debian does - automatically.
Not hipster enough.
Another reason to stop making dozens of different package managers. Or dozens copies of literally anything.
Can you people just talk and work together? These package managers aint rocket science.
Look at GNU/Linux: there are only 2 or 3 variations for everything.
This is a general problem in technology, not just about package managers
> Look at GNU/Linux: there is only 2 or 3 variations for everything.
Not true, there is probably hundreds of versions of everything (probably not bad in itself) but 2-3 popular ones that you know about.
The reason why we keep seeing new package managers is because people think they can do it better than the existing stuff. And I think it's a necessary step to improvement, but some of the suggested solutions will be crap. But then sometimes something really good comes along and the ecosystem self-corrects.
Mostly false.
For package management on Linux I can think of 4 just off the top of my head:
* apt
* rpm
* apk
* pacman
There are bound to be more and this is not counting other approaches like AppImage and Snap.
He said "switch from npm to yarn". I can't imagine the phrase "switch from apt to rpm". The difference here is that there is the whole layer of distribution maintainers who do the actual work to ensure compatibility and quality.
AppImage and Snap are different beasts emerged from the need to bundle proprietary software. There are around two of them like I've said.
Bower? Nope, it used github.
Entropic? Nope, federated as an alternative to npm Inc's monopoly.
JSPM? Nope, it loads modules directly off the web.
Pnpm? Ah, yes, this one is actually a replacement for the npm client like yarn although with much less traction.
So we have npm, yarn and pnpm. Compare that to apt, aptitude, apt-get, dpkg, synaptic, gdpm, gnome-apt, dselect, wajig, PackageKit, kpackage and gdebi. Sure, most of these are GUI tools or somehow build on low-level tools like apt-get but the point is that "Linux doesn't suffer from fragmentation but JS package management does" is absurd.
EDIT: This doesn't even go into there being at least three popular mutually incompatible package systems for Linux (Arch/RedHat/Debian) and every distro having its own registry (or "repository").
Even macOS already has Homebrew (Linuxbrew is the Linux equiv), Fink (derived from APT), and MacPorts on top of the App Store and package managers for programming languages like NPM (NodeJS), Cargo (Rust), Gem (Ruby).
A nice command to upgrade all of these is Topgrade [1] which does all the upgrades for you, including even Tmux plugins.
Of course it comes at the same price of a rolling distribution. Things will break occasionally.
As for NPM since the company behind NPM is commercial, and it is centralized, it shouldn't be a surprise that there's alternatives.
Even better: decouple what is generic / OS specific / language specific into libraries and formats and reuse them.
I've worked on many package managers and it's astonishing how every new language reinvents the wheel and makes the same mistakes again.
People ignore the history of software packaging every day.
There used to be bower, which installed via GitHub directly and has been dead for ages. There are now also several experimental alternatives but they have basically no traction.
The newest contestant is Entropic, which was built by former npm developers as a reaction to the problems of a for-profit venture capital funded startup running a centralised registry and controlling the client.
So for the Linux comparison (ignoring the actual implementations): yarn and npm are apt and dpkg, Entropic is yum and Bower is pacman. Not exactly proliferation if you consider how many packages there are on npm right now.