Remix.run Logo
baranul 5 days ago

This is a decent example of not buying, getting pulled, or being forced into any corporate pushed hype or eliminating one's options. They re-evaluated and looked at what programming language was best for their situation, which was removing the Rust language and using something else. It then turned out, they actually got gains in greater user contributions, simplicity, efficiency, and even speed.

nine_k 8 hours ago | parent | next [-]

> what programming language was best for their situation, which was removing the Rust language and using something else

This is correct, but I'd say that the key was removing Rust and not using something else. Fewer moving parts, fewer JS runtime boundaries to cross, no need to make certain that the GC won't interfere, etc.

Also, basically any rewrite is a chance to drop entrenched decisions that proved to be not as great. Rewriting a large enough part of Prisma likely allowed to address quite a few pieces of tech debt which were not comfortable to address in small incremental changes. Consider "Prisma requires ~98% fewer types to evaluate a schema. Prisma requires ~45% fewer types for query evaluation.": this mush have required quite a bit of rework of the whole thing. Removing Rust in the process was likely almost a footnote.

thunky 8 hours ago | parent | prev | next [-]

> This is a decent example of not buying, getting pulled, or being forced into any corporate pushed hype

It seems that maybe they did get hyped into Rust, because it's not clear why they believed Rust would make their JavaScript tool easier to develop, simpler, or more efficient in the first place.

solidsnack9000 5 hours ago | parent | next [-]

At one time, they were targeting much a broader array of languages -- it wasn't specifically a JavaScript tool:

https://www.youtube.com/watch?v=1zSh0zYLTIE

satvikpendem 7 hours ago | parent | prev [-]

There are examples where that's true, like Biome or oxc.

koakuma-chan 6 hours ago | parent [-]

Biome and oxc are developer tools. I don't know why in the world they would do this, but it sounds like they were using Rust at runtime to interact with the database?

tonyhart7 7 hours ago | parent | prev [-]

[flagged]