Live data from Hacker News

Deno vs. Bun vs. Node.js: A feature comparison

dev.hexagon.56k.guru

41–50 of 56 posts

Re: Deno vs. Bun vs. Node.js: A feature comparison

#41
post #36
post #35

For me, the key thing that is missing is dgram (UDP) support. Makes bun unusable for a lot of IoT scenarios.

Why would you want to use JavaScript in IoT scenarios?

Well, Node-RED for starters. Plus homebridge, and plenty of UPNP and protocol-specific solutions that, for some reason, are coded in JavaScript.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#42

Earlier quoted context omitted.

I just don’t understand why I would want to use Deno. I totally get the idea of wanting a modern Node, and I can appreciate Deno as a form of art. But does it help me do my job better than with Node? The browser API compat doesn’t move me at all, I can have that in Node as well… same with Typescript, it works just fine in Node, in fact I like having it separate because I can configure my build exactly how I want.

I've spent way too long fighting node.js having bitterly sad compromises in esm support. I've spent way too long hunting through tsconfig options looking for some option that maybe might help. These problems keep recurring. Every time I start a small library, yes, I know I'll make it through, eventually. But I feel lessened by the battle. Compromises are made. I personally feel little enjoyment for configuring build…

That’s fair enough but you can do most of these things in Node too, it doesn’t require a new runtime. You can use browser APIs by installing a wrapper, you can use ES modules, you can (I believe) use workers although I haven’t tried that yet.

The packaging situation is indeed messed up but that’s because TC39 decided to invent a maximally incompatible new module format. But you can not install CJS packages in Node just as well as you can not install them in Deno.

I don’t find configuring build systems enjoyable, but the benefit is that your dev environment is not tightly coupled. If your runtime is also your build system then there’s one tool doing two jobs. Some people might like this. I personally think that this kind of coupling causes more inconvenience over the long-term even if there’s less inconvenience up front.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#43

I wasn't expecting a deep and thorough comparison just from the headline... but the feature list and comparison text here is worse than I thought it would be, bordering on useless. "Built in" means nothing because the value prop of node compared to the other two is the ecosystem and maturity. Do you care if your linting tool is built in if it's buggy and regularly releases breaking changes? "Secure by default" in par…

> worse than I thought it would be, bordering on useless.

I'm all ears! Will revise it later today

Not sure about you, but I really do hate Babel, Prettify, tsc, uglify and all that. I think it's awesome that they are integrated in Deno and Bun, and starting to get integrated into Node.

We all know that Node has a massive ecosystem, job opportunities and all that, do I really need to list that as features? I don't think any company would read this and think "Woah, let's ditch node!"

Should I list "better compatibility with existing Node modules" as a feature for Bun?

Re: Deno vs. Bun vs. Node.js: A feature comparison

#44
post #28
post #17

Earlier quoted context omitted.

I think that in general, tooling is underrated. In many ways, tooling is more important than the language itself (although some language features are intertwined with the tooling story). And I don’t mean more features, but rather consistency, reproducibility, simplicity, etc. Great tools have knock on effects. Good dependency managers improve the ecosystem. Fast language servers can enable interactive dev style. And…

+1. Before I could understand benefits of Rist, I was sold on cargo.

I think rustdoc, rust-analyzer, and crater all deserve shout-outs as well.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#45
post #14

Bun is getting a lot of hype due to all the press, but almost everyone is just echoing Bun's docs and marketing material and lack direct experience using it. I haven't done a deep dive into Bun yet, but I have tried porting a legacy project to it. Hit a lot of issues after a few hours of hacking around. It wouldn't correctly install node modules because of opt-in dependency lifecycles (and maybe other issues?) and th…

It seems like it has potential but I tried using it with a Shopify app I am building and for some reason it wasn't automatically creating the cloudflare tunnel in dev mode. Also, there's no verbose flag to show more detailed log message.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#46

I wasn't expecting a deep and thorough comparison just from the headline... but the feature list and comparison text here is worse than I thought it would be, bordering on useless. "Built in" means nothing because the value prop of node compared to the other two is the ecosystem and maturity. Do you care if your linting tool is built in if it's buggy and regularly releases breaking changes? "Secure by default" in par…

> worse than I thought it would be, bordering on useless. I'm all ears! Will revise it later today Not sure about you, but I really do hate Babel, Prettify, tsc, uglify and all that. I think it's awesome that they are integrated in Deno and Bun, and starting to get integrated into Node. We all know that Node has a massive ecosystem, job opportunities and all that, do I really need to list that as features? I don't th…

I think the problem with what you have now is that the feature comparison values "built in" above any other qualities. Obviously would require a much bigger article but I think the only way this is useful is if there is a comparison of tools in each runtime and "built in" is simply a pro in that comparison.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#47

Earlier quoted context omitted.

> worse than I thought it would be, bordering on useless. I'm all ears! Will revise it later today Not sure about you, but I really do hate Babel, Prettify, tsc, uglify and all that. I think it's awesome that they are integrated in Deno and Bun, and starting to get integrated into Node. We all know that Node has a massive ecosystem, job opportunities and all that, do I really need to list that as features? I don't th…

I think the problem with what you have now is that the feature comparison values "built in" above any other qualities. Obviously would require a much bigger article but I think the only way this is useful is if there is a comparison of tools in each runtime and "built in" is simply a pro in that comparison.

How about something like " (Built in)", "(Native Ecosystem)", " (Third party), "" as a fix which avoids loads of text?

Re: Deno vs. Bun vs. Node.js: A feature comparison

#48

Earlier quoted context omitted.

I think the problem with what you have now is that the feature comparison values "built in" above any other qualities. Obviously would require a much bigger article but I think the only way this is useful is if there is a comparison of tools in each runtime and "built in" is simply a pro in that comparison.

How about something like " (Built in)", " (Native Ecosystem)", " (Third party), " " as a fix which avoids loads of text?

In my opinion that would be much more helpful than what was there before, it still gives preference to built in tools above all other criteria but you at least avoid the false impression that tools provided by the ecosystem don't exist.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#49
post #14

Bun is getting a lot of hype due to all the press, but almost everyone is just echoing Bun's docs and marketing material and lack direct experience using it. I haven't done a deep dive into Bun yet, but I have tried porting a legacy project to it. Hit a lot of issues after a few hours of hacking around. It wouldn't correctly install node modules because of opt-in dependency lifecycles (and maybe other issues?) and th…

I think running a bundler on top of bun defeats half of the purpose of the tool, unfortunately bun's own bundler is still very lackluster and definitely not good enough to use. On top of that most of the popular frontend frameworks (Vite, NextJS, etc) are doing their own bundling so I wouldn't use bun with those tools either.

I would consider it only for backend nodejs at the moment.

Re: Deno vs. Bun vs. Node.js: A feature comparison

#50
post #24
post #17

Earlier quoted context omitted.

I think that in general, tooling is underrated. In many ways, tooling is more important than the language itself (although some language features are intertwined with the tooling story). And I don’t mean more features, but rather consistency, reproducibility, simplicity, etc. Great tools have knock on effects. Good dependency managers improve the ecosystem. Fast language servers can enable interactive dev style. And…

Agreed. Go is prime example of a rather (intentionally) unsexy language that sports great tooling.

I am not an expert in go, but I find its tooling not good at all, especially package/dependency management. But at least there is _less_ tooling required than most nodejs projects and _less_ tooling fragmentation in general.

Rust/Cargo is the one I was most impressed by. But I haven't done any significant work in Rust.

Post reply on HN