3 ms·
Safe Rust takes some time to learn, but once you do, is quite pleasant to write. It is true that it takes some time to get over that hump though. Google found t
by steveklabnik 2y ago
Safe Rust takes some time to learn, but once you do, is quite pleasant to write. It is true that it takes some time to get over that hump though. Google found that it was three to six months, but after that, there was no productivity penalty.
Rust offers tons of tools that are very useful for correctness outside of memory safety. I hope to never program in a language without sum types ever again, if possible.
- rc00 2y agoYou keep referencing Google's clearly flawed and asymmetric marketing about Rust. It is really unsightly. It has been thoroughly debunked nearly everywhere it was reported but here is a 10 minute recap of some of the clear flaws: https://www.youtube.com/watch?v=vB3ACXSesGo https://www.youtube.com/watch?v=vB3ACXSesGo The summary is that the research that you reference was not done in good faith.
- steveklabnik 2y agoI like prime but just because he says something doesn't mean it's true. Repeating his claims in text form would be much more useful than linking to a video. I am not anti-video, but for example, I am out in public right now, and cannot watch it, and therefore can't meaningfully respond.
- rc00 2y agoThe video is worth a watch before responding. I'll try to summarize but it is unfair to the content. (I specifically opted for it over some others due to its brevity.) In all, the statement from Google lacks context and due diligence. Some bullets: * Experience levels in C++ and Rust are not equivalent. The experience gap between C++ and Rust developers can skew results, as C++ has been around much longer, affecting developer proficiency and code complexity. * Comparison of codebases: legacy C++ vs. greenfield Rust. Comparing a mature C++ codebase with a new Rust project is like comparing apples to oranges; age and complexity can impact productivity metrics significantly. * Measurement metrics can be misleading. The metrics used to determine productivity often lack depth, failing to account for feature complexity or development duration. * Organizations have asymmetric composition of resources. The management style and communication within teams can heavily influence productivity, indicating that not all teams function under the same conditions.
- Ygg2 2y agoCounter bullets: * Experience gap between C++ and Rust should give edge to C++ as it has larger pool of candidates to pick from. * Even in greenfield Rust vs greenfield C++ like Rust drivers in Android, Rust significantly reduced defect rate. * Measurements in this study were done on teams with same size, rewriting existing service. Neither you or Primagen demonstrate how that would be misleading. * See first point. While true how can you be sure C++ team isn't overall better than Rust? What if C++ is three senior engineers and Rust is three mediors? Actual possible problems: * There isn't yet enough data for language comparison. Too early to tell. * Observer effect might have influenced the study.
- steveklabnik 2y agoYes, full agree with all of this.
- OtomotO 2y agoAha, so you're saying that asymmetric marketing is bad (I agree) and as proof you put up some other asymmetric marketing, namely an influencer`s video... Hard pass :)
- gauge_field 2y agoAny other source that goes thoroughly over the video of keynote since it was thoroughly debunked nearly everywhere I could not find it myself. Also, I would not call it thoroughly.
- Ygg2 2y ago> thoroughly debunked Ok. Looks inside. First warning sign Primagen. Ok. What did he talk about: > There is lies, damn lies and statistics. > Go is goated, let's go. Truly dedunked.
- metaltyphoon 2y ago:D I live prime but he’s creating this cult like following close to Uncle Bob did a long time ago.
- deleted 2y ago[deleted]
- kelnos 2y agoThis has been my experience as well. I was talking to a friend last night, and programming languages came up, including Rust. I remarked to him that I felt that Rust's biggest weakness was its learning curve. But once you're past that, you're golden.
- zamalek 2y agoSafe Rust takes some time to _unlearn._ By which I mean, there are (in my opinion) objectively bad practices that a linear language prevents you from doing - such as cyclic data graphs in memory. Rust is hard because you need to unlearn bad habits, and then learn how to solve those issues all over again. I believe that's a good thing (in general, constructive constraints are good), but it is just an opinion.
- kazinator 2y ago"Cyclic datagraphs bad" is a perfect example of religious Rust brainwashing. Cyclic structures in memory are not bad just because the one-memory-management-trick pony language you're currently infatuated with doesn't handle them within its safety paradigm. Graph structures are entirely legitimate in computer science, and are handled nicely by garbage collection which is the gold standard in memory management. Fully general lexical closures lead to cycles even when no variables are mutated. And even if no circular definitions are supported in the language. We can use the Y combinator to create a cycle: a situation when a function's captured environment contains a binding whose value is that function itself.