Google Claims Rust Is As Productive As Golang | Prime Reacts
Vložit
- čas přidán 9. 04. 2024
- Recorded live on twitch, GET IN
Reviewed Tweet: / 1773025016822497392
By: / spastorino
/ theprimeagen
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
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))
turso.tech/deeznuts - Věda a technologie
Just like Prime didn't watch the presentation and only read the comments of random people, I won't watch this video and only read the comments of random people
they started talking about how if you make a lot of WTFs per minute in code review you are bad and it made me self conscious and i forgot all about the presentation. i wish they didnt do that
I'm starting to dislike prime. This is not the first time he does something like this
You read comments by people who didn't consume the original source? I read comments by people who read comments by people who didn't consume the original source; we are not the same
why is society like this
The keynote claims are bad, and the data is unverifiable.
Keynote claim roughly "When rewritten systems from Go into Rust, it takes about the same size team and the same amount of time".
Assume you have a 1st fresh implementation in Go and did a rewrite into Rust, and come to the conclusion it took the same amount of time therefore Rust is equal do Go in productivity, not a new system with new requirements, a rewrite of a system already ironed out all the kinks, not account or showing different level of proficiency of either team
I am going to let that sync in.
Not only did he not watch the presentation, he also read takes from people who didn't watch the presentation.
thats what we do as devs bro
He's a full time content mill now, no time to actually engage with anything.
lmaoo
That is his content reacting to dev xitter
When you deal with thousands of bs claims which look identical to this, it’s hard not to be jaded or cynical like Prime was for this one.
Unfortunately Lars was one of the rare, thoughtful people who caught a stray as a result.
Same thing happened with ChrisTitusTech and Theo the other day.
Not going to judge the man for an L take, I’m man enough to admit I’ve had a couple recently.
Prime should watch the keynote as opposed to reacting to a quote on a slide.
Keynote link czcams.com/video/QrrH2lcl9ew/video.htmlsi=vFU_VYJ6MncgFoRt
@@sambell9170 no..
full time content creator mode, gotta churn out the content?
@@sambell9170 much funny.
@@sambell9170 Can we appreciate that this video's URL has "Go" in it
Please watch the presentation first, it already addresses a lot of things that Prime said.
Is it publicly available somewhere??
@@theondonoRust Nation UK on CZcams
On the Rust Nation UK YT channel - Lars Bergstrom Beyond Safety and Speed
Not a reaction to the slides, reaction a the twitter post.
@@TheSnero3yeah but the slides address the things he says… so he wrong
Definitely feels like he should listen to the presentation rather than taking a statement out of context.
Yes, seems low effort to me. I found the presentation within 3 minutes of searching.
It's a 11 Minute reaction to a total of 21 Words of content. Absolutely wild!
(I was about to write a top level comment, but since you already commented basically the same thing...)
he did that on another video recently, got 5 seconds into it, didn't let the guy cook, misinterpreted what he said, then got stunlocked on a 15 minute tangent
Yeah, this was a huge miss IMO. Just assuming what their methodology was and then shitting on it, instead of making an effort to get any sort of information or context at all is really low effort. I don't even necessarily disagree with Prime's main point here, but the fact he's just assuming he's smarter than the team at Google that did this study, and they wouldn't consider the same things he did and try to control for them is pretty insulting to the people who put work into it.
His channel, his thoughts 😊
Average Google engineer eats 3 salads a day and writes exactly 0 lines of code per day, so this is possible.
Can confirm this is true. I have worked there for a couple years and have never written any code. They are just giving me free money for no reason. This strategy is what made them into a $2T company
Might write a couple of lines of code on their phones while enjoying a spa
you forgot the 3 glasses of fat free soy milk they take with their salad!
@@kylew5331 Never? What was your job description?
@@trappedcat3615bro he’s joking ..
This needs a follow-up after Prime watches the talk.
He doesn't give an impression as a person who would waste his time on learning anything.
Except what Google did was comparing rewriting of projects (not even first rewrite, but several fold rewrites) in Go/C++/Rust, so absolutely comparable stuff. And that was the result. Considering you have not bothered to learn about what you are commenting on then maybe it's not Google here that is full of crap...
Exactly. And it makes a lot of sense to me tbh. C++ is always going to include crossing some extra t's, while Rust allows you to go as fast as you can bypass the borrow checker.
If the same engineer rewrites something he will be faster the second time, even faster the third time, because he understands the problem better. Not comparable. If it is different engineers also not comparable.
It can never be fully comparable, unless you do the same work, then go back in time, forget you did it, and redo the work @@Nozdrum
@@Nozdrum and thats why I'm sure they had every single engineer specifically rewrite in the order of C++, Go, then Rust and they accepted that there was absolutely no way to alleviate that absolutely indestructible issue.
Just wanted to remind you that Prime is reacting to a tweet like he said. Cheers.
Not only did Prime not watch the video, he just decided to make assumptions about the speaker instead of moving his eyeballs mere pixels to the right to read the guy's profile description ("Google Director of Engineering" for Android). It's like Prime saw a post he thought was vapid clickbait and said, "Hold my beer."
I appreciate that the only two cases were 'they were deliberately deceptive' and 'they didn't consider all the variables', instead of 'I might be wrong, because I haven't seen the data'. Weird to see ThePrimeagen react so quickly to something, usually there's at least a token effort of understanding the opposing side. Looking forward to the next one!
BLAZINGLY fast reaction
11 minute video on a screenshot lol
This is way lower quality than I've come to expect from Prime. Sad.
Just watch the talk, all the critics with no context is dismissible
It has become extremely clear to me that Prime has gone from bias towards Rust to bias against it in a matter of months. It's kinda interesting tbh.
Seems like classic adhd novelty ups and downs. Which is fine if you can be aware of it, and not let it affect what you tell others via bias. Seems to be what a lot of primes stuff is largely now though. Not sure how much big / long term programming he even does any more. Not sure how he'd even fit it in with everything else.
Hopefully he goes back to making the more planned + well thought out videos on the main channel, but it's easier to just stream and take clips from that. A bit like h3h3 no longer making their original edited videos, and just doing podcasts where you can sit there without much research, planning and editing.
He does the thing with languages instead of JS frameworks
it's a trend obsession. once the honeymoon phase is over they move onto the next thing. he was a typescript guy before that so it's not surprising that the js framework culture has influenced how he views other languages.
Uhmm what? I'm usually on your side but you didn't even see the keynote and made up your opinion on it.
They had the same team that was writing C++ write Rust. These basic variables were controlled. Also, they even controlled the evangelist effect. These weren't the people that were vouching for Rust. These were just "random" Google engineers who had no particular inclination towards any particular language that were given to "do it in Rust".
"but you didn't even see the keynote and made up your opinion on it. "
He didn't have to.
@@isodoubIet Well yeah now he doesn't, people in this comment section are more than enough XDD
But no seriously, he should've. So many of his issues were addressed in there.
@@VivekYadav-ds8oz No, they weren't. They can't be, this sort of stuff just isn't measurable. It's like if a slide said "the moon is in scorpio therefore it's a great time to buy a house". There's no context that can improve that statement.
@@VivekYadav-ds8oz rewriting an existing solution is going to be faster then coming up with the initial solution in the first place. How can you assume that these are somehow fair comparisons?
The statement the Twitter poster showed can not, under any circumstances, be a good test. Its not possible.
@@isodoubIetThat's because productivity wasn't objectively measured, it was subjectively surveyed. Engineers themselves were asked how much productive they felt. Idk about you, but I can definitely feel if I'm more productive or not, even if I can't pinpoint it to one factor.
"I only have two potential axes I could assume on" - It took me like 30 seconds to find the video from rust nation uk that this was from, and 3 minutes to find out the context. I don't know why the person, context, methodology and intent had to be assumed when it's so easily found?
He has done a 180 degree flip, and gone from tech influencer to, tech influenza, like Theo.
@@elgalasno one is worse than Theo, though.
@@elgalas theo is on another level. he's the embodiment of that. prime is slowly making his way there, but that's tough to reach.
@@elgalas Hmm? I think Theo does tech content better.
Agree, he should've gone a bit deeper than just reacting on this single quote. The presentation actually goes into explaining it more and the presenter was the Director of Engineering at Google BTW :P
Keynote: "When rewriten systems from Go into Rust, it takes about the same size team and the same amount of time".
A rewrite should take less time not the same.
he explained with poor data, the claim that in Go vs Rust, rust is takes the same time doing the rewrite , then goes to demonstrate something in C vs rust, then puts out statistics of Rust vs All other languages on a developer perspective, not by language, but all languages combined, is like saying that German is statisticly easier that all the languages in the world combined, it's bad data and anti science, it's not a keynote, it's marketing.
@@rudiservoI haven’t found the presentation. But they might mean that rewrites take the same amount of time as rewrites in Go.
If the result was just that the rewrites were faster than the original, that’s expected regardless of language
@@Tyler-lr6fq I would agree with you but it was said that it was Rust rewrites of services written in Go, there was no claim that Go service was a rewrite, again more questions than answers, and a lot of that data was the feedback from the devs, there was no actual metric involved, so perception bias, motivation and such also play a role.
I am not anti Rust, the claim is just bad science.
Damn, that speaker nailed it. Ruffled so many feathers. Chat and prime fell for it hook, line, and sinker.
at this point 50k views video. prime really fell for it. how will he recover
@@waterkoyje hope losing reputation was worth it
If you actually watch the video, they say the metric they rely on is self reported productivity, not loc that kinds of stuff, and they report them anonymously, they think that devs knows how productive they are.
Ah, thanks for the info. I can't say I agree with them though, if devs knew how productive they were, their task estimates would be more accurate lol.
that is actually the most bs metric I could think of
@@ludo534I agree, it sounds very made up
When you take a poll of folks like this, you gotta ask yourself the quality of the poll and their ability to gather data. If I were going for a raise, I would respond with 5/5 every time.
@@Rakstawr As it's reported anonymously that may not have as much impact as you think.
Tbh, I did try to build the same stuff in C and in Rust (small microcontroller with a bunch of features), and it was not even a challenge. I was able to get everything running in Rust in ~2h, but it took me more than 2 days to replicate in C.
Given that I’ve been working in C for almost two decades now, and only learn Rust in the last ~3y in my spare time, it’s not even funny how much more productive Rust is for me.
Can you elaborate a little? What about performance? What about memory print? How reliable rust code is?
Maybe compare C++ and rust. That would be a bit more fair comparison in terms of coding time
Any repo so we can replicate the experiment in other languages?
that's interesting, as uC programmer i never bothered with rust cuz "what memeory safety when i have 8kB of max memory"
@@glidersuzuki5572 for what I was doing it wouldn’t matter.
My biggest time drain in C/C++ is the same, setting up the build system, getting libraries to work properly on the target, debugging weird states while building proper error handling..
cargo >>>> Cmake
You're can't criticize the methods of a paper you didn't read. This is wild.
But he's doing this only part-time... oh.
Can't believe you were too lazy to watch the presentation, or at least the segment this is referring too.
Before judging, you should watch keynote first
Prime is just confirming his bias because he is Rust skill issue, doesn't want to listen to the source, just toot his own golang.
@@NightlyDev I think prime has showed many times that he is personally biased against Rust
@@CamaradaArdi Feels like he possibly tried to learn it, and Rust turned out too hard for him.
@@tkd128 In many occasions he has given straight wrong facts about Rust or how to do things in Rust. Especially with async
There's some irony to be found in saying that you don't watch conference talks while spending this long engaging with a screenshot of one. Content's starting to feel eeirly similar to the experience I've had in programming discords. Whole lot of parrots in a rainforest.
Oh thank god you didn't go and search how they did the actual measurements of productivity and how they tried to overcome the obvious problems in measuring such a thing. For a second there i thought i might actually learn something valuable. But thankfully, you just assumed the person was speaking in bad faith to begin with. I wish I had the confidence to assert all the obvious problems there would be with measuring something like this without even wondering what they did to overcome them, if at all. Luckily I was here to be entertained and not learn anything.
This is what a full-time content creator does.
I don't even really see why this is considered contentious. The number one thing that slows down new code is old code, and Rust forces you to be as precise and explicit as possible minimizing that impact. PopOS for instance are nearing completion of Cosmic after like 2 years and 7 people working on it. A full consumer ready desktop environmemt ready in like 2 years with 7 people on it. That's a pretty insane dev rate given KDE spent like a decade on plasma 5. You can argue the age point for small things, but when you're writing a full DE its well into the realm of real-world complexity. A project as big and complex as a DE is going to hit all of those snags and slow downs.
Rust is a pain in the ass to write *_because_* it forces explicivity, and that means it stalls (albiet likely cannot stop) debt-creep/crawl and quickly starts seeing long term gains on larger projects. There still *_is_* shit Rust code, but, I mean, come on, we've all seen some C that was begging to be deprecated before gcc ever touched it. Rust makes a lot, though again not all, of those horrible bodge jobs non starters. You may complain when you're drafting up your little MVP sketch, but the guy who replaces you will never know the bullet he dodged when he starts working on production years after your 'minimum viable product' was given it's promotion.
to be completely fair, kde doesnt just develop plasma
they also develop a bunch of fully featured applications. applications that i use even tho i no longer use plasma. also, cosmic seems very opinionated while plasma does anything and everything
@@RenderingUser it also has more than 7 people working on it.
I ain't shitting on KDE, (well, except for Plasma 6, which has been nothing but pain for me personally) but I think its kinda stupid to ignore what is realistically absolutely breakneck developer speed & code quality that a lot of Rust projects have achieved.
Rust forcing you to code "right" is a royal pain in the ass and can get in the way, but on more complex projects it really can become a speed & quality multiplier.
@@felixjohnson3874 im not arguing against rust. im just justifying why it takes longer for kde to build plasma. its not just the programming language making it slow. theres also the fact that its got waaaay more features and has a codebase that's older and needs maintenance and also has people working on more than just the desktop
This doesn't seem like a fair comparison. If the KDE devs begins developing a new DE in cpp they might finish it faster. cpp has lots of new features compared to 10 years ago and they also have a reference code
@@RenderingUser literally any comparison is going to have differences, but the point is that Rust projects, especially much larger projects, tend to be developed far faster and with less snags than comparable cases. You can only chock it up to it being a new project so many times before it just becomes unreasonable. Any *_given_* comparison won't be 1:1 just by nature of reality, but when you look at roughly comparable cases a clear picture gets painted even if the paint being used has impurities.
This "ah well y'know there are differences so this isn't meaningful" approach is just fence sitting by any other name. At scale & between roughly comparable projects the theoretical benefits of Rust manifest and become very practical very quickly.
If he actually read the article in question it'd further reinforce this since productivity was measured by having different engineers rewriting a series of existing projects several times over in different languages, meaning the literal exact same problem space, no language preferences by the engineers, no rewrite advantage favouring any given language, etc.
I'm all for calling out BS stats when they're actually BS but some people, for some reason *_especially_* programmers, have this weird tendency to fall back on "well they're not exactly 1:1" as a way to just avoid facing pretty clear cut things. Even insanely simple questions like
"Is python slow?"
get met with
"Well thats actually a very complicated question as every project is different an-"
Yes, yes it is. Certain problem spaces use accelerated C libraries to make it usable but speaking in english rather than bullshitese python is just slow. That doesn't mean it's unusable, it doesn't mean it has no place, it just means it's slow and that's a weakness of the language.
Languages just do some things better than others and some things worse than others, but that isn't an excuse to avoid identifying and extrapolating very clear higher level patterns. You wouldn't write a kernel in php because "well every language has pros and cons" yet that exact sort of fence sitting is what a ton of people fall back on the second you start comparing any more prominent languages.
If Rust has literally a single advantage to it's name it is longterm integrity. It quite literally forces you to obey best practices with very clear blocks of "I thought I was smarter than the compiler here" when people ignore it. That means on any non-trivial projects the tech debt is severely stalled and developer performance can increase drastically. This is exactly what we see when we look at generally comparable cases and it's exactly what this study bore out. Go has it's place for simple yet high concurrency applications and implementations; C has it's place for either insanely low level work or 'quick and dirty' programs that need to do some fancy shit to run fast without being a headache; python is good for more slow and dirty areas where you want a similar looseness to C but don't want to deal with all the low level BS that can bog down development long term; Java is solid for user-facing applications that you want to run somewhat natively in many places with some unification among them; and Rust's strength is simply that it's going to *_force_* you to get your shit together, or admit to the rest of your team where you didn't. That is indisputably going to stall tech debt massively, leading to gains in most non-trivial problems which, again, is exactly what we see happen. Rust takes the responsibility away from the programmer and to the computer; why is it controversial that that's going to result in generally higher long-term code quality? Of course it is, it stops programmers from taking the shortcuts that fuck them over later, why is this even a question?
Just because we haven't rewritten the linux kernel in python doesn't mean we can't point out the very obvious fact that it wouldn't work out very well, and yet even if we *_did_* fully rewrite the kernel in python people would *_still_* say it doesnt mean anything because it's always easier to rewrite something than write it the first time. It's not even a moving goalpost as much as it is a painting of a goalpost on the side of a brick wall. Languages have strengths and they have weaknesses and, frankly? Most of the time you, as the programmer, are the biggest weakness.
can't believe he did a video on a tweet promoting an article and not the actual article lol
The DoesntReadThePresentationAgen
The actual keynote was filled with subjective data gathered from surveys. Nothing concrete.
Yeah and he used 11 words as a platform to speculate and insult people for 11 minutes. Like if he cared about methods he wouldn't be wildly speculating
@@JonLikesStats Insults are all some "data" deserves.
08:26 he just seems to have banned someone for asking what seemed like a fairly reasonable and genuine question. Sure ignore it like but just banning someone like that seems like a bit of a dick move. Am a fan of Prime but just found that a little strange.
I think you're right on a surface level, but you didn't review the keynote.
Also it is Google.
Exactly. The presenter provides the data and reasoning. The talk for the curious: czcams.com/video/QrrH2lcl9ew/video.html&pp=ygUbcnVzdCBuYXRpb24gdWsgcHJvZHVjdGl2aXR5
Why did he need to review the keynote?
This was measured in time to rewrite an existing service. There are some caveats of course.
1) The sample was made up of experienced C++ programmers so they can learn Rust fairly easily and Go's ease of learning edge is reduced.
2) Rewriting an existing program means the domain is reasonably well understood and exploratory programming is less valuable.
3) You are allowed to use third party (non-google) libraries and frameworks, and for well understood tasks Rust just becomes so much easier to write when you can just pull in a framework that handles the work for you.
4) C++ is handicapped by the fact that the tasks required asynchronous programming. Yes, C++20 has coroutines with await syntax to avoid callback hell in a language where closures can have dangling references, but I dare you to figure out when move and copy constructors are called during a C++ coroutine switch.
Google was wrong. Rust must be more productive than Golang 😮
This is pretty disappointing. I understand that without the Netflix salary he'd be heavily incentivized to make more shallow content in greater volume but I didn't think it would be so immediate and so obvious.
There are bugs that require way more time to analyze and fix when it occurs at run time 6 months after release rather than handling a compilation error... and rust compiler is way more restrictive than any C++ compiler.
So I assume the answer to this question will vary a lot if you are a beginner or really skilled as a rust developper.
Those who apply to a new job every 2 or 3 years will probably not share the same common ground on that topic with those who really know what it is to maintain the same product/code over decades.
Read the docs from the presentation.
I've been writing C++ for 10 years, I can say that at the moment I am becoming a senior in it. The amount of people I've seen that over complicate things just because, or because they read a book and it said it is the best way to do things is absolutely astonishing, the argument goes from "Let's make a custom string class, to 'a string is a char, char is data, let's convert this string class into a generic data container for everything we do, we will need to template it, abstract it and then inherit it to use it' and then it only gets used once, as a string, and it's full of bugs"
so if I want a string then I should just use a string
@@1ronstark yup, and if it come with the language just use that, don't reinvent the wheel. Some people fail to understand that
This is why one should always take, both the presentation and Prime's opinion, with a whole bag of salt.
Hmm, Prime’s phoned this one in for the algorithm 😢
Golang will be the next thing killed by Google
I believe that too. Google created Go to replace some of its C++ code, but seems like it overlaps with most Java code. Since Google seems to migrate from Java to Kotlin and Rust looks like a better replacement for C++ there's not much room for Go.
Judging presentation by the title and twitter comments. LFG!!!!
You should watch that talk, it's pretty interesting. Still can't tell if I should take it seriously or not, though
The two dudes coding a parallel tiny POC in Rust are patting themselves on the back for this whilst the greybeards maintaining the very lifeblood of Google's search algorithms actively developed since the 1990s are like "wtf... really bro? -.-"
I understand your intention is just joking, but I think the message comes off a bit unfair
It's not just "two dudes", IIRC the data comes from actual (anonymous) survey conducted internally on Google, I think I watched at least part of that presentation on CZcams, it's available freely. Not to mention that I think it's a bit weird for Google-affiliated person/engineer (the presenter) to made such claims without them having some necessary/sufficient "proof" for it
@@notruff Something new and shiny will always boost productivity, lets watch how those rewritten projects will proceed to evolve within next 5 years(atleast), and what new developer will say about that legacy rust codebases in 2034...
I'm not saying that Google engineers are lying, i'm just saying that things like, hype and support fatigue exist. And when people are given an opportunity to rewrite old legacy codebase using new and shiny tech - that will give an immense morality boost in itself. That doesn't really mean that rust is that good.
@@notruff What's weird about it? You can't shake a tree without finding a rust evangelist.
@@dmitriyobidin6049 I didn't say anything on "Rust is that good" really, I think it's just a normal language like any others, just want to point out the original commenter (and few others on this comment sections) seems unwilling to at least discuss in good faith by saying it's just "two dudes" implementing "tiny POC". If it's any better, it isn't Rust-specific, just that it seems to not be a nice comment for any language/tech discussion
I see some people saying that Prime is just becoming a content churner now that he has gone full time. In my opinion he always was a content churner, but at least his takes was backed by his real experiences as a SWE. Now it is just inevitable that he will start losing touch with the SWE world. I also watch Dr Mike and he mentioned that he really like still working as a doctor because it anchors him and his content. Prime needs to think of ways to not lose touch or he will eventually pivot and we lose another tech youtuber.
Hey, Question
Why are your Twitch VODs locked behind being a sub?
Just because I'm not a Rust fanatic, I'm absolutely sure that this statement is a BS, without even going into topic.
There is an article of this that is less than 10minutes to read. 😂😂😂 I really wonder why his reaction is revolving so much in that particular keynote message.
I had used Java and Kotlin for 9 years before I learned Rust. Whenever I learn a concept in Rust the first thing I did to understand it was to think of its equivalent in Kotlin. Helped a bit except for how Rust uses structs and their impl blocks.
really took the L on this one and made a lot of hasty assumptions :[
The moment he says 'the name', I understand that he's about to be done with my brain soon.
We started with "go is 2x productive as c++" and ended at "don't d**k measure" 🤣
All the Google C++ libraries i use got much worse in the last few years due to heavy use of abseil, just for something in the standard library now like string_view, but in C++14 for some reason. 30s to compile libraries suddenly taking 5-10 minutes to compile.
Rust compile times looking pretty good all of a sudden.
It takes just one look at their style guide to conclude they have absolutely no idea how to write C++.
The guy who made this claim is cool - he gave a lecture at my college in my rust class. Lots of internal metrics shared that were cool, and some details about how Rust has improved Android (his background). That being said I don’t believe it’s as productive as Go. The whole value proposition of Rust is that it saves you more in the long run with maintenance and bugs.
People saying "oh he didn't watch the presentation" fair enough, but the quote is reacting to is straight up a lie, that's why he's reacting to it, no amount of context would change that, so his points are still perfectly valid.
Go is more productive than rust: ye
Rust is as productive as go: bUt aSymMeTrY DaTa wHeRe
I guess the borrow checker is preventing them from attending all-hands meetings
7:55 what I hear is "learn one thing and become obsolete in 2 years".
While I understand the utility of learning one thing deeply I think right now there is higher chance that you will get better result by learning multiple things and staying flexible.
There are probably some fields where learning one thing deeply would be more beneficial, but for example in frontend I will for sure not learn only Vue for example. Because even though JS frameworks are kinda interchangeable, I need to learn bunch of other stuff around it and I have only one life to do it. And also I have to be ready to pivot to completely different paradigm (like for example htmx) or even to different branches of IT (like for example devops). So I think that majority of people right now should focus on being versitile, because landscape is changing. It is not 2005 anymore, where you could pick a language and pretty much stay with it for 20 years. We have no idea what is around the corner.
Based on Prime's logic, nothing can be compared to anything if the conclusion is against what he likes to hear. Let's just shout out: Go is the bestest language in the universe past, now and in the future.
4:30 the guy that made the original presenting on the "results" has a position in the Rust Foundation, so there's a conflict of interest
Really gotta get the content out fast, didn't even bother watching the presentation lol
That was a Bummeragen that he didn't watch the presentation.
I wonder if people would discredit a single slide from a presentation they didn't watch if this agreed with their personal opinion....
Comparing languages is hard, or maybe even impossible. You either test it "in the real world" where you can't control all the variables, or you create synthetic "benchmarks" which can either be gamed (or claim to be gamed).
If Google said that same thing about Go vs.
My take here from the point of view of an engineer at google is that this is because in most projects and teams being productive at google isn't a thing
Watch the full presentation or go ask your boss for your old job back. No hate though.
Was really insightful to not take it at face value and want to understand the other variables like the size and age of the codebases. Definitely faster to code a small shiny tiny new service than some gigantic legacy codebase.
I can't agree with that generalization that "git gud at any language and that's the answer" is the best measure of productivity - the language matters
That's like saying "A java developer can write hello world faster than a Python developer if they know it insanely well".
What if they both know what to do and type just as fast?
In a similar vein, making a flawless, behemoth-sized Rust+PostGres project will always be faster and safer to make than the C language version of that same project.
Even if these metrics can be gamed, the language still matters when it comes to productivity
All the guys that have finish too quickly in bed be like:
If you faster downstairs, you are faster upstairs 😎
9:37 some infinities are bigger than other
I drive an automatic, from what I am hearing
I should drive a stick 🤔
I would agree with it as someone who does both. Writing in rust is not as free flowing than go but you end up doing most of your thinking about a problem up front. With go, as its more dynamic and refactoofable arguably, you end up writing up less well thought out code in the beginning and than refactor it a bunch and bug fixing some more
Amen! Give the Rust teams the same code age and size and types of changes as the C++ teams.
objectively measuring developer productivity is an unsolved problem
ID for this video ends in Go
Illuminati confirmed
Lot of rust code being slipped (by google) into the c++ based pdfium, I assume the same may be true for chromium.
8:30 sometimes its not that they dpont put effort, is that they dont put the right kind of effort.
For context - that Santiago guy that posted the tweet is an ex Ruby developer, turned Rust Evangelist, that runs his own consulting company.
Spent 2000-2008 attending uni
Worked for a couple of years a web developer
Then became CEO of his own company
The company specialises in Agile coaching, and Ruby web dev
Nothing wrong with any of that, but keep it in mind when putting value on his tweets
Bergstrom - ex Microsoft manager, Google shareholder, member of the Rust foundation board ... yeah, OK. Sounds like a code genius who is right up there with Linus Torvalds, Rob Pike, Joe Armstrong, etc
With all due respect, that might’ve been the dumbest opinion I’ve ever heard.
Dunno if responding to a still image makes a ton of sense, in the same way the original isolated slide doesnt make sense
I don't disagree with prime really, just there might me more to what was being said,l
C# async await as far as i know is just state machine logic
This isn't a good claim for Rust, it's a bad claim for Go
lets just admit, that good developers tend to use rust.
It's true, but doesn't feel that way if your standards are lower for the finished product.
The post was sponsored by the Rust Foundation kekw
Something I'll never learn is the php date format specifiers. Never. It'll never sink in. Sincerely, a programmer of 15-20 years.
It is true, Go is simple language but to wrote something "productionworthy" demands ton of experience and attention.
Your title is misleading! "Rust teams at Google are as productive as ones using Go, ..." is what they claim, not that Rust is as productive as Golang. There may be confounding variables that explain why this is happening (eg senior developers may prefer rust more) but their statement is not wrong.
Yeah, Go is a much easier language, and therefore is going to attract a greater variety of developers. Rust is hard, its compiler yells at you a lot, and it's generally a language only an experienced programmer can really enjoy. Rust is a terrible language for beginners.
I watched the preso and while Prime's take was on the slide/twitter post without watching the preso it wasn't too far off.
For instance, the productivity gains quoted were for REWRITES!
You should be faster doing a rewrite, you already know what to do! He says that they rewrote Go code in Rust in the same time it took to write the Go code, I wonder how fast you could rewrite the Go code in Go again?
The rest of the preso was 'statisics' as predicted. Having said that I do think the points made stand true, overall I think you would be more productive with Rust than C++ over time for sure.
You clearly didn't watch the presentation. He said multiple times that they compared the rewrite with previous rewrites. He compared the time it took them to rewrite other software in GO, with DIFFERENT software rewritten in Rust, using the same team size. It's not a perfect metric, but it clearly is not as stupid as you are claiming it to be.
guess who definitely WON'T be covering this ;-)
Who ?
Theo
have to thumb down. pls look at the actual video instead of talking about a quote for so long.
8:28 not putting in the effort is the opposite of a skill issue
That's like martial artist comparing martial arts.... think it will always come down to the individual behind the art... or the tool....
I don't know, it's a vague claim, and Google has a history of shipping / maintaining products, that's an equally as vague claim
Hehe, a hot take right there. Although you did jump the gun here. Many of the specific potential issues with the data you mentioned were actually addressed in the talk. All of this might not matter and the data might still be BS, of course, and this was also my first gut reaction when seeing this post (how can you measure this?). But after listening to the keynote and considering all aspects mentioned, I came around to thinking that the results actually make sense. Unless many very specific statements were blatant lies, but let's face it, Google sending a senior-ish person to a conference to lie for "Big Rust" sounds too much like a nutjob conspiracy theory to me ^^
Plus, if it weren't for the "as productive as Go statement" ... I guess barely anyone would doubt that Rust is easier to write and maintain than C++. Using both, this a bit of a no-brainer to me. And I like C++, mind you.
They weren't, it's even worse than he assumed.
", but let's face it, Google sending a senior-ish person to a conference to lie for "Big Rust" sounds too much like a nutjob conspiracy theory to me ^^"
Or, more likely, rust-evangelist-who-happens-to-work-at-google was given the latitude to present his work, by a company famous for giving its employees latitude.
" I guess barely anyone would doubt that Rust is easier to write and maintain than C++"
I would. Rust is very painful to use, with everything having to be signed off in triplicate, boilerplate and repetition everywhere. C++ is a breeze by comparison.
@@isodoubIet Perhaps "barely anyone" was a bit harsh. Even personally, I much prefer C++ for numerics or signal processing. I usually want shared memory, parallelism, perhaps GPU, no performance hits due to things like bounds checks, generic code over arithmetic types (where I find templates and a concept far simpler than Rust generics constrained by traits). The C++ library ecosystem in this area is just great. Rust would be more verbose here, or a very hard sell due to the ecosystem being not there.
On the other hand, for more general-purpose, "back-endy" code (e.g.: file or database IO, basic data transformation pipelines, (de)serialization into/from messages, ...), in my experience Rust is not only less error-prone but also less verbose. I find monadic error handling in Rust better than C-style error codes, less verbose than proper exception handling in C++ and certainly less verbose than std::expected/std::optional. There is proper pattern matching compared to std::variant/std::visit (ugh). There are no header files. Rust iterators are less clunky than C++ ranges/views. Lambdas are less clunky. Constraining or specializing just slightly non-trivial templates in C++ can end up being quite verbose while still featuring "holes" compared to Rust traits. Also, dynamic and static polymorphism in Rust is isomorphic, while in C++ there are completely different mechanisms for the two.
And while this doesn't apply to Google, in general we have CMake as de-facto standard for builds compared to Cargo. Don't get me started on CMake and debugging build-related issues (...perhaps it doesn't help that at work, we build for Windows...) In terms of error-prone-ness and time spent on code review and debugging, in Rust I don't have to think about people managing to invalidate things like std::span or string_view, or producing UB via out-of-bounds access. No linker errors. "Panic!" leaves you with a usually helpful compiler message, while an unhandled exception leaves you with nothing.
I suspect that Google has a lot more of this "back-endy" code compared to "numeric" code, so to me it just makes sense that C++ is more expensive for them than Rust.
@@wolfgangrohringer820 I'm with you up until this point:
" find monadic error handling in Rust better than C-style error codes, less verbose than proper exception handling in C++ "
If you think that, you're probably doing a try catch on every block. That's not what you're supposed to do; you're supposed to basically catch at top level and log/end the work unit. It should be very rare that you need an intermediate try catch, and since there's no syntax for "doing nothing" (the big strength of exceptions), there's no way it can be more verbose than Rust here. There's also no such thing as an unhandled exception; you should always have a handler ready at top level and for a lot of cases that'll be your only handler.
As far as google, I think the basic problem is they're just awful at C++ in general. Chromium is a crime.
IMO, the people that are drawn to programming don’t categorize work as “hard” vs “easy”…
…the people that are drawn to programming see work as either engaging or mind-numbingly repetitive.
The people that are drawn to programming will stay up all night to automate a task that takes 10 minutes a week because they get sick of doing the same thing for 10 minutes every week.
Seems like post netflix prime doesnt care about wokr ethic and actually reacting to real shit anymore huh? Just react to the damn talk if youre gonna react to it XD
The entire productivity take is meaningless but if something looks useless and nonsensical, it might have a different use. Could it be that Google is marketing both Go and Rust languages for some concrete reason behind the scenes?
WTH does google engineers actually do for themselves?
You mean top talent 0.01% of developers that was given time and money to become productive with the programming language that is famous to be safe and reliable but not forgiving when it comes to skill issues were capable to become productive using it? No way...
Now take yesterday graduates without rich low level coding/C/C++ experience and give them Go and rust and a couple of small to medium tasks to finish.
p.s. But Prime still should watch full keynote before calling someone idiot/stupid/shit...
If you saw a screenshot from a keynote that said "Sun in sagittarius means it's a good time to sell silver", you'd have no trouble calling it BS without watching. This is the exact same thing.