Hacker News new | ask | show | jobs
by report-to-trees 1016 days ago
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 particular means nothing by itself here either.

Bun specifically promises better compatibility with existing npm modules then Deno so the comparison here is much different than the chart would lead you to believe.

3 comments

> Do you care if your linting tool is built in if it's buggy and regularly releases breaking changes?

In general I would expect a linting tool or any other component that is a first class feature of the app would be less likely to be released with bugs and breaking changes than a third party one.

In this day and age the “linting” tool does a lot more than just respond yes or no. It usually has a rules engine, templates, config file support and enforces a lot more things than just syntactical correctness.

With that in mind it’s probably impossible to build a linter that’s going to be able to serve these needs that’s also built-in and on the same release cadence as the runtime itself.

Sure, maybe. How would you know without doing some research into a specific project?

My point was that the feature checklist here is so surface level it's useless as a practical comparison.

Maybe?
> 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?

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 "<green check> (Built in)", "<green check>(Native Ecosystem)", "<yellow check> (Third party), "<red cross>" 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.
Done!
"Secure by default" means something. It means Deno is a more appropriate choice for running untrusted code compared to node.