From Go To Rust | Prime Reacts
Recorded live on twitch, GET IN
https://twitch.tv/ThePrimeagen
Reviewed article: https://vercel.com/blog/how-turborepo-is-porting-from-go-to-rust
MY MAIN YT CHANNEL: Has well edited engineering videos
https://youtube.com/ThePrimeagen
Discord
https://discord.gg/ThePrimeagen
Have something for me to read or react to?: https://www.reddit.com/r/ThePrimeagenReact/
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
https://turso.tech/deeznuts
Views:55478
Taqs:programming,computer,software,software engineer,software engineering,program,development,developing,developer,developers,web design,web developer,web development,programmer humor,humor,memes,software memes,engineer,engineering,Regex,regexs,regexes,netflix,vscode,vscode engineer,vscode plugins,Lenovo,customer service
コメント
コメント (62)
トラックバックは利用できません。
How do they know when people interviewed with the NSA?
Instead of doing Full Rewrites its better to move to a Micro Modules First approach while doing Death By Attrition on all of the existing systems. This means you try to move more code/logic into custom code modules, focus on thin presentation layers, and slowly do attrition of what’s already in place until you can simply just shut it down & nobody notices.
Morons Rust is a pofs.
1:04 – I ported a library from Go to Rust that used fairly heavy syscalls, and surprisingly saw substantial improvement in overall performance. Unfortunately, I didn’t dive back into the Go side to actually compare, but I assume that there’s a some strange system level locking that has to occur with Go’s runtime scheduler (runtime.LockOSThread()). Total speculation concerning CPU performance.
lol triggered go shills. not sure which 1 is worse, the go community or the rust community.
I’ve never heard the term “Roman writing” before. What is that?
I think on the testing for port is still good, but making sure you are testing E2E and Integration, not new tests inside the Rust stuff.
7:42 are you actually surprised? 😛
9:01 dont support windows? Prime!!!! Omg man LoL
LOL. They seriously wrote an article on how to parse command argument, serialize a json and spin up a child process in Rust.
Go is die before it born 🤣🤣🤣🤣 C# is better than Go
The only way to get good at anything, is keeping at it.
Where are the stories from. C# or Java to CPP?
I think that make the process of programming slower is no funny to the developers.
Honestly after doing Go I take it back. Go is pretty good because it’s so boring.
rust for algo trading!!
From Rust To Zig
Mr Primeagen, do you now or have you ever worked for…THE EN-ES-AY?
best elocution in the game. 💯
Continuous Licensing in itself is cancer. Once the license holder pulls the plug, any product using something with the licenses will be dead in the water. Look no further than the games industry. How many good games are simply not available anymore, just because some artist somewhere said “Nope you are not allowed to use my song anymore”, despite said song only being maybe 1 or 2 % of the end product?
To make it clear. I have no problem with people wanting recognition or even compensation (Like a one-time fee) for their work.
Where I have a problem with it, is when the License requires continuous payment or Rules on how you can market your product.
Because now the license holder gets a significant amount of control over your project, without adding further value to it.
So over time, what you get becomes less and less in comparison, to what you pay.
I just want to say that i started learning GO then i discover RUST and i love it, but for me tooks a loooot of time to get one simple thing done with rust. For my work I make a few projects in go and was more easy once that i learn the rust basics. For me go is the tool while i learning rust and make the switch between this two great languages is more easy and i can get the job done. Thats is the thing that count. Be happy work happy.
I worked in a team who attempted a full rewrite, from a site written in php and prolog and perl to a site written in java. It was a mess, the java team was chasing the moving target all the time, and us in the ETL team were also chasing the moving target and the mess of old database they had.
Among the things they seemed to not have learned, is that doing all of this work for little to no benefit is a waste of time. Go is fine, and that roadmap could have probably been done in the tine it took to do this.
Go ➡️ Rust
then
Rust ➡️ Zig
then
wtf 😒
Feels like a huge flex without a good reason to me. I dont see the problem with Golang tbh.
“the segfault comes from the go rt itself”
At this point I would give up programing and start selling art on a beach
The test part: I understood it to mean that didn’t have tests and advice having test before you start PORTING. Similar to how you would when “refactoring”.
@14:30 See Erlang for many years of understanding that…
TBF, NSA is pretty cringe, what with trying to backdoor public key cryptography and all.
“Have you finished the upgrade yet?”
“Nope”
“Why not?!”
“Working on the blog post”
This is what happens when you let that 1 person in the team with no experience of working with technical debt start making technical decisions.,.. clearly no one on that team has experience.
12:06 is a huge L for Prime
Is glibc not LGPL (Library GPL) but raw GPL? Surprising.
If you wanted to build it in such a way that it could be run on multiple platforms and be installed via npm
then you could build from rust to the wasm32-wasi target then run it via something like wasitime, the only downside with that approach is that it’s not 64bit
1 year into rust rewrite: Why we are switching to Zig from Rust.
They should have migrated to HTMX instead.
Rust, C++, Go developers, spend all their time rewriting projects and measuring performance 😂.
Other developers scale horizontally.
Full re wriret sounds like: “Bulldoze the city this time it will be a better place to live in. “
GPL3 is not cancer btw, it’s there to help protect against huge tech corps abusing OSS which has been happening ALOT lately. Looking at you amazon.
15:20 and this my friends is a sheep
Windows copping whose Ws right there
While i personally think Rust > Go: Why did they rewrite in the first place? Dont see any valid reason to do this… too much free time?
I find the article to be compelling. The firm I work for is converting a large code base from C++ to Go. We are seeing a huge performance improvement. We don’t have to use generics to solve language problems. We aren’t coding defensively. And, the team is actually enjoying the process and look forward to when we are completely on Go.
For all of the shenanigans they go through during the article, I still don’t understand the reason why they move from go to rust.
What makes it “more maintainable” and “allows them to handle new features better” exactly?
This sounded like such a hassle to do. How much performance is boosted? 2x? 3x? Also, didn’t they have a junior dev constantly telling them to use Rust in the first place?
Why is it that you do not link to the original articles?
youtube makes all my prime videos at 360p :(, the name is…. pixelagen
Great article show how to move to other language with successful !
I want to C Rust Go
i thought you were cool primagen
For anyone struggling with cgo on Windows, after fighting with MinGW and Cygwin I gave up and I wondered if Zig CC would work as well. I tried with the Go SQLite binding from mattn and it worked after a few tries (encountered some linking bugs that were recently fixed). Can recommend everyone to give it a try. Using the same tooling on every platform sure feels nice.
coming up: why we are porting back to go
and then: how we are porting back to go
seriously, all this article is, is them complaining how everything sucks when you try to write your program in 2+ languages at a time.
they should have stayed with go, go it’s more than fast enough for a build system.
The IRONY of having a Go/Rust “fast” build system for JAVASCRIPT/TYPESCRIPT (implying they do JavaScript/TypeScript stuff) 😂
When you say “Something like Protobuf” what else can it be if not Protobuf.
rewrite GO in RUST :)7
my JS framework is better than your JS framework
RIIR.
they rewrote in rust because they wanted to do it in rust, there is no other reason
Love your content and thanks for uploading on Youtube
Hello World
Damn it, I just switched from Learning GO to RUST.
9AM (BR Timezone) and we’re already here.
wow wa ve va