• 0 Posts
  • 4 Comments
Joined 2 years ago
cake
Cake day: June 19th, 2023

help-circle


  • Serious question for anyone who actually uses Bun:

    Why are you using Bun instead of Deno or Node?

    If you would have asked me 10 years ago, what were the biggest problems with JS as a whole, I would have stated:

    1. Poor type safety

    2. No standard library which leads people into dependency hell

    3. Poor security (installing a project should not even allow the possibility of key stealing or ransomware)

    4. No runtime ergonomic immutable data structures with fast equality checks (looked like it was going to be resolved with the Records and Tuples proposal, but it was withdrawn and discussions are continuing in the composites proposal)


    Today I consider point 1 mostly resolved and point 4 a problem for TC39 and engine implementers, and not resolvable by runtimes themselves.

    That leaves us with problems 2 and 3.

    I see Node having poor solutions for 2 and 3.

    I see Bun having poor solutions for 2 and 3.

    I see Deno having great solutions for 2 and 3.


    As far as I can tell, people have chosen Bun for either hype or speed reasons.

    Hype doesn’t seem like an important reason to choose Bun since it’s always fleeting and there’s enough investment in the industry to keep each runtime going for a long time.

    I do see speed being a moderate issue with JS, but that’s mainly due to:

    • dependency install times which should be a one time cost, and which can be reduced anyway by using a standard library

    • slow framework slop, which isn’t really a runtime issue.

    So I’m not sure speed fits as a reason for choosing Bun.

    I’m not sure what the other reasons are, but I’m genuinely curious.

    If you’re using Bun in projects today, why have you chosen bun?