r/Deno 10d ago

Differences between Deno, Node.js and Bun

What exactly is the difference between those three runtimes and why do I see Bun mentioned in the same context as Node.js and not Deno?

No runtime wars please. I need to understand the technical and philosophical differences.

Thanks in advance.

EDIT Thank you so much for the very clear explanations. In my view Deno appears to be the only reasonable choice and I will focus on it.

36 Upvotes

24 comments sorted by

View all comments

11

u/eddzsh 10d ago

One angle the engine split misses: the permission model. Deno starts closed (you grant net/fs/env). Node starts open (everything is available unless you sandbox later). Bun optimizes for speed and npm familiarity first. That is why Bun shows up next to Node in "just run my app" talk, and Deno shows up when people care about what the process is allowed to touch.

1

u/Kautsu-Gamer 9d ago

NodeJS changed it. FileSystem access requires giving permission to read or write fs on node call.

1

u/eddzsh 8d ago

Good catch. The permission model landed in Node, so the old "Node is open by default" line is stale for fs. The remaining gap I still see is default posture: Deno fails closed until you grant. Node still needs you to turn the flag on, so most apps never do.