Hacker News new | ask | show | jobs
by sime2009 2979 days ago
* runs on a fast JIT

* package management and modules actually work

* huge ecosystem of packages

* ability to use native code modules in needed

* has webassembly too

* runs a huge range of other languages. It can fill a role similar to the JVM and .Net runtimes in this respect.

2 comments

> * package management and modules actually work

> * huge ecosystem of packages

This is satire, right?

NPM (both the tool, and the repository of packages it pulls from) are a joke to anyone outside the NodeJS bubble of Stockholm syndrome.

A company that was given $8M in venture capital and can't find more than two people to work on the main way people interact with their service, cannot be taken seriously.

Remember when everyone found out that the progress bar made NPM install packages 3x slower?

Then lets get into the actual 'ecosystem'.

The community actively encourages and embraces the sort of culture and decision making that leads to an entire module to do what you can do with this: `$foo % 2 === 0` (i.e. 'is even')

You would type more characters just requiring the module than you would just using the modulo operator.

Then you find out the same author published another module that literally just calls the other one and negates the returned result.

Let that sink in: a module, to do nothing more than prefix a function call with a `!`.

No fucking surprise the 'ecosystem' is huge. What other people call "writing code" NPM module developers look at as another opportunity to bump their ridiculous package count e-penis.

You can use NPM and NodeJS if you want, you can even "like" them. But don't for a second think that the community and practices of that environment are "good" by any comparison.

Okay, I'm going to jump on the "package management and modules actually work" thing; I'm not a noder, but I've considered using several tools that are built on Node, and every time — almost literally — `npm install whatever` fails. Linux, Windows, doesn't matter: I see the latest cool thing on Node, try to install it, and think, "If they can't even get installation to work, why should I bother?" Am I alone in this? I don't have that problem with other tools, so I don't think I'm unable to read and follow instructions. I'm disappointed, because there are a couple of toolkits for mobile development that I'd love to use, and there's a big Node roadblock in my way.
If you have a C++ compiler that works, you should be fine. I've never had an issue installing a package that isn't, in fact, a C++ issue.

Meanwhile, Python versioning of plugins is really broken, unless you use virtual environments. Maven seems to be fairly hard to integrate with IDEs (Eclipse seems to come bundled with a separate one, not sure about IntelliJ). Most other package managers I use don't have enough packages to be as useful.

> Python versioning of plugins is really broken

It is not broken - you ARE supposed to use virtual environments. I would say its is much saner than nodejs ecosystem where every conflict is being solved by having multiple versions of overlapping dependencies.

"If you have a C++ compiler that works, you should be fine. I've never had an issue installing a package that isn't, in fact, a C++ issue."

I've also had a compilation problem on Windows caused by Python not being installed (IIRC, the SASS package needed gyp, which uses Python). That was exceptional: I expect npm packages to install without issue, although I'm still bothered by how many dependent packages every tool seems to need.

> Most other package managers I use don't have enough packages to be as useful.

Let me guess, no `iseven` package?