this post was submitted on 10 Sep 2023
221 points (94.4% liked)

Programmer Humor

19557 readers
618 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 34 comments
sorted by: hot top controversial new old
[–] [email protected] 54 points 1 year ago (4 children)

Oh no. Another thing to learn.

[–] [email protected] 31 points 1 year ago* (last edited 1 year ago) (3 children)

It's almost 100% compatible with node but faster. A lot faster. So no need to learn anything but few cli commands. For example bun run dev instead of npm run dev.

Edit: website

[–] [email protected] 20 points 1 year ago (1 children)

Alias npm bun level compatibility?

[–] [email protected] 12 points 1 year ago

Bun is designed as a drop-in replacement for Node.js

It does seem so!

[–] [email protected] 4 points 1 year ago (1 children)

I'm trying to get my work to switch to bun but we have packages in a private AWS codeartifact repo. Does it support this? I tried to use it with our npmrc file but it couldn't install those packages.

[–] [email protected] 4 points 1 year ago

This is the first I've heard of this. Might be worth checking out.

[–] [email protected] 31 points 1 year ago (1 children)

you probably don't need to learn it, Deno was a massive upgrade over Node and it didn't matter, not convinced this will be any different.

[–] [email protected] 16 points 1 year ago (1 children)

IMO, deno's approach was bad as it was reinventing the wheel, so one had to relearn. And then they brought package.json which they said they wouldn't. This again got people to unlearn and relearn things.

Bun, on the other hand, acts like what Typescript is to Javascript. It's just feels like superset of Node, instead of completely different tool.

I expect Bun will get more success than Deno.

[–] [email protected] 0 points 1 year ago (1 children)

Makes sense. Deno was created by the same person that created node. They’re both going to be terrible, especially when they ignore everything ever discovered in software engineering about writing good code, good frameworks, good languages, etc.

[–] [email protected] -1 points 1 year ago (1 children)

deno was also created by one of the guys who created node.

[–] [email protected] 2 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (1 children)

sorry, brainfart. I read "bun is created as the same who created node" 🤦🏻‍♂️

[–] [email protected] 1 points 1 year ago (2 children)

gotcha. I don't think bun is created by the same person that created node. deno is, and has just as bad a design as node as a result. it honestly baffling that people trust someone to write a language who failed so badly to write a language that they set back the entire world for decades to come.

[–] [email protected] 2 points 1 year ago

idk I think people can learn from their mistakes and evolve. especially if they accept collaboration and RFCs.

I haven't worked much with deno, so I can't tell. But I earn my living with Node and it's ok. I dislike js way more than node itself.

I guess all the hate is around module resolution and package management.

[–] [email protected] 2 points 1 year ago

idk I think people can learn from their mistakes and evolve. especially if they accept collaboration and RFCs.

I haven't worked much with deno, so I can't tell. But I earn my living with Node and it's ok. I still hate js more than node itself.

[–] [email protected] 6 points 1 year ago (1 children)

God my thoughts exactly. Probably super cool, but still I just can't keep up

[–] [email protected] 8 points 1 year ago

Compatible with node

[–] [email protected] 5 points 1 year ago

This will be last 🥲

[–] [email protected] 32 points 1 year ago

My favorite pastime is arguing about which JavaScript runtime is faster while I wait for my app to finish running O(n^n) table scans of my database.

[–] [email protected] 20 points 1 year ago* (last edited 1 year ago) (2 children)

This will generate lots of fun moments when developers use Bun and the runtime environment is stuck at Node for some reason. For instance, because of AWS Lambda.

[–] [email protected] 6 points 1 year ago

I'm pretty sure someone will make a custom layer.

[–] [email protected] 5 points 1 year ago

Can't you deploy Docker images to Lambda now? Granted, startup times will probably be slower than native Node.

[–] [email protected] 7 points 1 year ago (2 children)

The owner of bun is a dick hole, I hope it fades as fast as deno did

[–] [email protected] 10 points 1 year ago (1 children)

Can you provide some context? Googled oven/Jarred Sumner a bit but only got the usual startup VC trash communication and lackluster interviews...

[–] [email protected] 29 points 1 year ago* (last edited 1 year ago) (2 children)

They deleted their tweet (or I can’t find it because I refuse to sign into Twitter on my phone) but when oven first started hiring they were extremely condescending towards the idea of work life balance. It’s a startup perpetuating the idea that startup employees need to cut themselves off from their lives and focus on work for minimal benefits - you know, until it “takes off”.

It caused quite a stir when it was posted, I’m surprised it’s so forgotten now.

[–] [email protected] 8 points 1 year ago

Oh I will never forget.

[–] [email protected] 3 points 1 year ago

Thanks. Much appreciated.

[–] [email protected] 5 points 1 year ago (1 children)
[–] [email protected] 8 points 1 year ago* (last edited 1 year ago) (1 children)

Deno is still around and is even actively used, you have to use it if you want to write a Supabase edge function, for example. But it's not used in mainstream development from what I can tell, it just never took off because it's a very large idea shift from Node that requires a decent sized learning curve to figure out. The benefits are also not enough that it's worth re-learning how to write server-side JavaScript. If you wanna write server-side JavaScript, Node is good enough that it's not worth re-learning.

Still though, Deno is fairly obscure from a mainstream development perspective, and that's what I wish on Bun.

[–] [email protected] 2 points 1 year ago (1 children)

To add, edge functions (powered by deno) are one of the bigger pain points of supabase. At least that's my own practical experience and the experience of quite a few others on their github (discussions and issues).

In my current project, I started of optimistically ("Should be doable, they say you feel right at home coming from nodejs!"), tried rewriting some existing nodejs code and use edge functions just like your average nodejs powered serverless functions.

But in the end, things just didn't work out:

  • deno's crypto module just wasn't up to scratch yet re nodejs compatibility (for my rather humble needs)
  • supabase uses --no-npm flag re its use of "deno deploy runtime", which means node: specifiers for imports aren't supported
  • the fact that unlike for serverless functions, which update their runtime only once you yourself trigger a new deployment (e.g. nodejs on vercel), "deno deploy runtime" is continously being updated to latest version, which to me still feels pretty strange for production use, considering how serverless functions handle runtime updates.

In the end I changed my architecture yet again, moved most of the code to an expressjs backend and only use edge functions as a kind of "tender" proxy layer with minimal dependencies (mostly just deno and some esm.sh imports; e.g. supabase-js).

Don't get me wrong, supabase overall is a great thing and they do many things well! I'm still using them going forward. But edge functions just have the potential for being such a pain point in a project and many have already wished for also having the option for "classic" serverless functions.

[–] [email protected] 2 points 1 year ago

Yeah, I really wish they’d gone a different way, it’s rough. I think they went the way they did because of the control they have over the run time environment, the ability to disable so much like writing to disk through flags makes it really easy for them to “trust” the edge functions, but man deno is rough.

[–] [email protected] 5 points 1 year ago (1 children)

I'm looking at it with optimism for a new build tool. I just need Sass/CSS compilation and I'll give it a whirl.

[–] [email protected] 5 points 1 year ago

It's on the roadmap