The Truth About Bun
ฝัง
- เผยแพร่เมื่อ 30 ม.ค. 2025
- I want to make sure we're being responsible when talking about Bun, Node, and all the other awesome technologies in this ecosystem. Love everyone who pours their heart into making software better for all
ALL MY VIDEOS ARE POSTED EARLY ON PATREON / t3dotgg
Everything else (Twitch, Twitter, Discord & my blog): t3.gg/links
S/O Ph4se0n3 for the awesome edit 🙏 - วิทยาศาสตร์และเทคโนโลยี
The bit about package version caching was mostly around `bunx` commands (npx replacement) for things like `create-t3-app`
Jarred merged a fix for the `bunx @latest` thing right before I posted this github.com/oven-sh/bun/pull/5346
hey how you know these deep detail so quickly
What do you mean "things like 'create-t3-app'"? The fix makes no distinction between your lib and any other lib@latest. Also, this shouldn't be a pin, but a new video addressing the comment and subsequent change. Did we learn nothing from LTT.
@@divinelogikcreate-t3-app is mentioned in pull request as axample
And pinned comment is sufficient, in my opinion, for providing additional and new info after releasing video. Why bring LTT in this, I would say that this is completely different situations
@@divinelogikbruh the create-3-app is just an example. It's very common to post corrections in the comments, no point in a 7 seconds video just to point out an update.
@@divinelogikThat’s obvious? Are you that bored that you’re trying to pick a fight ?
Until days ago, I had no idea Node was such a small unpaid team. How can Node carry so many corporations on its back, how can Node be such a core dependency to the web as we know it, and companies aren't pouring money into its continued development?
😅
This is the main problem with open source. Those poor dudes got a whole industry on their back and surviving of likes n GitHub stars
They should stop working and let the corporations burn until they get their due.
Mind numbing really
Wait until you hear about curl
Jared desperately trying to maintain an image of professionalism for Bun.
Meanwhile the community: "IT'S A BUNTIME"
This is where the bun begins 😎
devs simply can't runaway from a puntime
No bun intended
@@theSUBVERSIVE you mean a bunchline?
@@theSUBVERSIVEThey can't bun away?
Thank you to the whole community, we really are the builders.
No I’m a bunny.
Glory to the builders.
Cringe
@@OryginTechWell, you’re not in CS world because bun is something new.
HEY NODE DEV TEAM
I LOVE YOU SO MUCH
WITHOUT YOU I WOULDN'T HAVE A JOB
THANK YOU FOR ALL OF YOUR HARD WORK ❤❤❤
You would. But you'd probably hate it.
Node Dev Team you are amazing!
Well i would have to do some pascal then lmao
Donate money
The bus thing in relation to the 1st/2nd contributor difference is legit scary
PHP has a bus factor of 1...it used to be 2 till Apple stole the other guy
The meme at 8:24 has been in the wild for decades but every time i watch it, it hurts
Thank you so much random guy from Nebraska
The right question is: WHO did that freaking cute logo? This person deserves credit!
I agree with everything you said Theo. There is always a tradeoff to make when we try to make things faster. And we should not forget the amount of efforts being put into long-lasting technologies. Lots of effort doesn't always lead to a successful product but no product can be successful without tremendous amount of effort.
Bro a lot of products have been made with no much effort like you said.
Don't prison your mind in limit beliefs
Thank you Node team, you rock!
I love Jared's enthusiasm for performance, always sharing little optimizations on twitter and such. I've been seeing some wild stuff with the BETH stack (Bun Elysia Turso HTMX) perf numbers, but I still like nextjs and drizzle or prisma
I'm amazed at how you manage to run all of the work you do + maintain a company. You release a video almost everyday. Hats off to you Theo.
Bun being named after the Bunny is the javascript equivalent of Python being named after Monty Python. Awesome
All this time we could have been coding in Monty. MontyMonty instead of PyPy.
I'm using it in non-work projects right now because it's just so nice to have the compile times reduced to milliseconds. I hope more devs support bun's development to keep in sync with node features. Who knows, maybe bun's work will be merged into node's and we'll get the best of both worlds one day.
Kinda worry for people who are negative about node now, its almost as if you'd start to hate your mom and dad because they raised you and now you can start your life without the struggles they needed to solve for you...
Umm mate it’s a technology not a family member. Are you still holding onto jquery for greenfield projects? I’m not jumping right onto bun but this analogy makes no sense.
@@ChillAutosIt does, to a point. It's not as dramatic as comparing it to family members, but it's also not completely off, considering how much some people are bashing node all of sudden.
@@ChillAutos sorry if it made no sense. I am not implying that you should use either the old or the new things, it just being negative about an older thing just because the new is cooler seems no sense to me.
It feels very ungreatful for the older ones upon which the new was able to build, and that's where I thought the parallel to ungreatful children's makes sense.
@@adaliszk Ok I get what you were saying but honestly its a very small minority who are saying anything bad about node. You just get more visibility of that through these sorts of channels amplifying it.
I was like that some months ago, but not because of Node specifically. I wanted to avoid anything JS-related like the plague, and since Node was "the worst runtime, when compared to Deno and Bun" I avoided using any runtimes (especially Node) as if they're radioactive waste. Now that I'm using Helix, and need LSPs, I've started to appreciate Node because of its stability/compatibility.
I don't have to use Node (or any runtime) per-se, it's just a dependency, so this is the perfect balance for me
Excited about Bun, despite getting a seg fault straight up on v1. There will be issues, but it is a huge forward movement, that was long overdue.
most of the seg faults were fixed in v1.0.1
@@shamshid nice, I will give that a try. Thanks!
Bro seriously, perfectly complimented Node. I wouldn’t be where I am without the JavaScript and Node community 🎉
I am still proud of my Pirple Thinkific Node certification 2019 😅
Great video, the points you are making are solid, the contribution chart for ESBuild is eye opening.
I've been a "long term" supporter of bun and zig in general. It pains me to see people talk down on node. Node is great, bun could be better but in the end the fact remains that we couldn't have gotten to this point without the contributions made to node
The amount of things I rely on built by people named Evan is scary...
my terminal dont want none unless you got Bun, hun
Thank you for this video and message. It really opened my eyes as a junior dev to the risks and considerations one has to make when it comes to adopting new technology. It‘s a really fair assessment and great that you point out the absurd generosity of all those (high-performer or not) open-source contributors. Cheers!
Thank you for making a video about how hard the Node Core team works. Open source maintainers don't get near enough credit.
As an example. I remember when ioJS (At that time Node was backed by JoyNet) was created, to fix issues they thought NodeJS core team wasn't prioritizing. Then after a few years the node core team merged in ioJS' code base and ioJS went away. Node got better and also node got separated from a company and became more community focused
I'm a weirdo who will probably stay with Node and NPM, but I appreciate your discussion about bunJS and possible issues
Ironically, there's probably a relationship between how good something is with how many people work on it. Some of the best software is written by one talented individual. Some of the worst software is maintained by hundreds of people.
The Mythical Man-Month is one of the best Software Engineering books ever and it's whole point is pretty much this!
📘 "Mythical Man-Month" Key Lessons 📚
1. 🕐 **Brooks' Law:** Adding more people to a late software project makes it even later. 💼
2. 👥 **Surgical Team Model:** Software development is like a surgical team - skilled individuals working together efficiently. 🔪
3. 🧩 **Conceptual Integrity:** Maintain a consistent and coherent design throughout the project. 🧠
4. 🎯 **Second-System Effect:** Be cautious of overambitious second-system designs. 🚀
5. 🪙 **No Silver Bullet:** No magic solution; progress comes through hard work. 🏗
6. 🗣 **Communication:** Open and honest communication is vital within the team. 📢
7. 📄 **Documentation:** Proper documentation is essential for understanding and maintenance. 📝
8. 🕳 **The Tar Pit Analogy:** Software development can be like a tar pit - navigate complexity carefully. 🕳
9. 📏 **Estimation:** Accurately estimating project time and effort is challenging. 📆
10. 🧪 **Prototyping:** Use prototypes to clarify requirements and reduce project risks. 🎮
These lessons from "Mythical Man-Month" are a must for anyone in software development and project management! 🌐💻📈
100% this
is that commonism?
you have an incredible overview of this field. very impressive!
I love Zig, so I was always going to be curious about Bun, but I also think Bun made more sensible decisions about compatibility than Deno did. I was excited for Deno but never wound up using it. I've been using Bun since the first day, because it was comfortable to replace certain Node features with from day one.
This is really profound man, could you make another video juxtaposing Deno and Bun and their futures. I would love to see what your takes on Deno RIGHT NOW!
I’ve never even considered this perspective especially when you show the git contributions/insights. Very eye opening. Love your posts, such a real life perspective. I’ll likely stay in node for years to come especially considering the investments most companies have made. Thanks for sharing!
You're absolutely right! And also every day new frameworks are released which are supported by one person, the same NestJs, Hono, Expressots...
Well said. Respect to the Node Core team and everything they have done.
thanks for this video. it really teaches some wisdom there on how to view the ecosystem and node's place in it.
I really liked the introduction! I feel hooked, and this is exactly what I want to know! 😅
I truly forgot how much effort the community do to make popular packages, ecosystems, runtimes.... Still running up to today, which makes me think that instead of just using existing solutions, as developers we should start contributing more to open source solutions that we are still using
I want to thank you for your thoughtful video. In contrast to many who are much more interested in calling attention to themselves and their supposed brilliance via shouted out superficiality, your analysis of the team character in concrete commit production of npm over the years (without denying their own corporate and at times anti-union character) gives us all food for thought. There are no magic bullets when that cartoon shows all the weaknesses of our ecosystem.
1,000% agree.
I'd really like to see windows support (without using WSL) or at least the ability to run it via Msys2
currently WSL is the only way to run it under windows.
Yes I'm waiting for Windows support, and then for Volta to support Bun, and Bun to support source-maps, and perhaps SCSS support too.
i still remember when Jerred suddenly said "it's buntime" when we're at the pub
Then proceeded to bun all over the place
Not getting my backend services off of Node anytime soon, but I've installed Bun and will be doing some prototyping.
Prototyping update: Bun and Elysia are both fast af and a pleasure to work with in development. Have not tried in production. Jury still out. Switching any of my serious prod services to Bun at this juncture would definitely not be bleeding responsibly, but the future looks hopeful.
I have only one petty complaint and I'm not sure if this is a Bun thing or an Elysia thing but either Bun or Elysia spits a ton of whitespace into the terminal whenever an error is thrown. Like... it's about 80-90 lines of whitespace and then the error. Petty complaint but it makes reading error messages and debugging a lot harder. That's really my only complaint about the DX with Bun and Elysia in dev though.
If any Node contributors are seeing this, THANK YOU
Bun is really great, already changed to the runtime on most projects and just waiting for proper monorepo support to change to the package manager as well.
You look great today! Learned a lot in this one thanks
And basically, if you use Bun, use it in a node-compatible way for insurance
Thanks for recognizing node. For all it’s few faults, it is a truly amazing body of work.
The title was a scary and I was expecting an opinionated rant about personal DX preferences or cherry-picking facts related to performance and compatibility, but this was a really fair and informative video. Thank you!
Really interesting video, thanks! I never considered the points about how Bun can do what they're doing and why Node cannot.
This is the take I was looking for. Ty so much Theo. Always 🔥
Is there a way where we could donate to the core Node team for their unpaid-and at the moment, unappreciated-hard work and unwavering dedication to open source?
Thank you, Theo, for your analysis of the whole thing, and for shedding light that some members of the community has abused the core maintainers 😥
I was thinking the same, then it hit me, that those developers are senior engineers, and since the time Ryan founded Node JS and open-sourced it, and the community that supported it, their goal was never money. Donating them even out of good-faith is like giving a 5$ tip to a good Samaritan who towed your punctured car to the garage.
i was going to bash Bun for being unable to get me to production stage for months now, i am so pissed that it's making me overlook what a great product it is.
I'm seriously considering Deno but there'll always be a warm place in my heart for buns,
i mean bun
Jarred get some rest bro, you're magnificent
Your analysis is so good.💯 Good job Theo.
Thank you for sharing your perspective on that topic! I didn't know so much about the backbone of NodeJs. Those devs should receive definitly more recognition and less thanklessness.
That mkbhd types background 0:30 looks awesome perlin noise 3d. I also made that last week using remotion that was fun
For me the biggest drawback of bun has been its lack of compatibility with some parts of node, so right now I will just use it for small simple projects.
This is a great take, thanks for publishing this 💯
insightful as always! thanks Theo
One of the best takes I’ve seen! ❤
This is a great take, a voice of reason in amongst the hype.
Completely agree with you here and you make a lot of really good call-outs. I'm excited to give Bun a try and I really hope they succeed!
It's for sure immature to trash the Node team because Bun is faster or whatever. It's amazing how far Node has come and that it opened up the entire path forward for making the JavaScript ecosystem what it is at all. Nearly all of the tools I use regularly fully depend on Node, it's incredible. It should be no surprise that after all these years someone came and got a potentially better path forward. It's always way easier to improve on someone else's success than to be the first in the field.
One of the best videos I've seen about Bun, thanks for sharing.
why do people care about `npm install` so much? most of my issue with node is the time it takes to execute a block of code, and bun doesn't solve any of that. Startup and install is like 0.01% of the "optimization" that I care about.
Nice video. And if I had to guess I'd say that Bun project will push Nodejs forward and then gradually disappear. Does anyone remember io.js (node fork)? And the Deno project? Well, node is sustainable over time and has more chances to absorb Bun performance improvements rather than being replaced by it massively.
Wold be greater to have a video with your perspectives about the Deno ecossistema too Theo
These are very very good points, thank you.
I uninstalled yarn a couple days ago and switched it out for bun. I haven't looked since. There was one package out of all of them that I had to replace. But there was literally a bun-same name package.
Thank you for this explanation of Bun 1.0 and how important Node.js and it's contributors still are.
Good and mature points. Thanks Theo!
indeed. different beasts and building on the shoulders of giants. for personal stuff i will be trying bun today. for commercial work, ill be waiting for the next big bun update. for me stability is a huge deal. also zig is not yet version 1.
Paying my bills with node since 2016. Never let me down.
Loyatly and respect to NodeJS community.
How is Bun going to generate revenue for the VC backers? I want to use Bun in the future but want to have some sense of direction on where Bun is going especially if it has to start generating revenue off of developers at some point...
Men good point bro! 👏🏻👏🏻👏🏻👏🏻
Thank you, Theo, for doing this video.
Good points. One feedback though, you can't compare contributors of node with bun/esbuild. Probably the initial days of node would have been a fair comparison.
Bun got somewhere really great in a short time and i think the team understands this points that you pointed and they sure have plans 😅.
It’s the first time I hear Node’s core team is under criticism.
I’m sure a lot of people appreciate the work they put in.
And remember, Bun needs Node’s ecosystem to thrive, so in a way they complement each other.
Wow, what a video! Thank you, I'll stop ranting at node!
It's pretty cool, I'd be down to use it for smaller stuff, but I wouldn't dream of using Bun in real projects. Pretty wild that they slapped the v1.0 release status on Bun when it *doesn't fully support Windows*. And when it does, how far will it lag behind Bun on Linux/OSX systems? I'm not jazzed about the idea of non-portable code being circulated by hyped up devs.
Thanks a lot for a geat video with the precious insights.
Thanks a lot 👍
If you look at python or other core software Iinfra projects, big companies are starting to hire to ensure their own systems built on top of that can continue to be supported
Thank you for the information. :)
I’m hoping the Node team will get inspired by Bun to make some of their own performance improvements.
Thank you so much for sharing
Wow that contribution chart for ESBuild is wild!! Evan is the GOAT lol
Yeah, true. Bun should start planning for LTS (Long Term Support) version for future. So that it should be able to handle issues. Since Bun is still on early version, let's see how it goes. I mean, true as you mentioned, there is also a reason why Node is now on it's 18.18.2 LTS... They have survived and has come along way dealing with major issues especially when many companies building web applications using Node are fully shipped, launched and on Production Live. And yes, we all learn our lesson :) Make sure you make a backup other wise, the next few days your Web Applications/Server starts crashing and figuring it our what is actually happening... :)
The comment about npm as the best package manager? I just feel a need to say the one thing I like about maven (java) is it allows to outright exclude sub-dependencies of my dependencies.
NPM doesnt seem to allow excluding packages. I either use force resolution or find a different package.
What a video, hope this puts to rest all the chaos on Twitter
Thank you, Theo.
Bun can be make network checking under the background for up to date
Mate, ty very much for video. I totaly agree with you. Everything is depends on your requirements.
Bun is sitting at the shoulder of the giant Node
Im happy to keep using npm with bun. I'm just here for the TS support.
Times change
I'm in the same boat. Being able to just write TS code, run bun ./file.ts and bun test and everything just works without me doing anything is insane
It's 2023, if you are still using npm you are doing something wrong xD
As someone who likes di, i started a project with bun, and trying the tsyringe package there are a-lot of issues, Reflection does not work in the runtime (metadata) and without that functionality i don't think i will move to bun.
I was really afraid this video was going to be shitting on Bun. I love that this video was more about how we point our criticism and to be more aware.
tl;dr -> Bun is VC Backed and Node is run by volunteers. Which apparently allows them to focus on performance. Reality is that no OSSW is guaranteed in any kind of way, Node can also collapse, things like that have happened before. Wasn't NextJS also VC backed?
People treating technologies like sports teams is crazy 😂
The bus thing is basically what has now happened to classic vim
i feel *thankful💐🙏🏻*
This is very thruth!
A more accurate title for the video: "The Truth About Node, In Context Of Bun"
Already using Bun for local dev, AWS Lambda, and Cloud Run
Great take!!
Hearing that bun is VC funded while node gets nothing (which I'm skeptical about but won't bother looking into) immediately makes me wonder how those VCs want to monetize it...