11 ms·
Rust: A quest for performant, reliable software [video]
Slides: https://docs.google.com/presentation/d/1SoDsm_m_pb_gS6Y98HghhzBviYZxp3F2XawhIppJQQo/edit?usp=sharing https://docs.google.com/presentation/d/1SoDsm_m_pb_gS6Y98Hgh...
- jtrueb 1y agoSlides from video description https://docs.google.com/presentation/d/1SoDsm_m_pb_gS6Y98HghhzBviYZxp3F2XawhIppJQQo/edit?usp=sharing https://docs.google.com/presentation/d/1SoDsm_m_pb_gS6Y98Hgh...
- gnulinux 1y ago> "How Rust Won" I love Rust, I'm a fan of writing it and I love the tooling. And I love to see it's (hopefully) getting more popular. Despite this, I'm not sure if "won" is the right word because to my very uneducated eyes there is still considerable amount of Rust not succeeding. Admittedly I don't write so much Rust (I should do more!) but when I do it always baffles me how tons of the libraries recommended online are ghost town. There are some really useful Rust libraries out there that weren't maintained for many years. It still feels like Rust ecosystem is not quite there to be called a "successful" language. Am I wrong? This is really not a criticism of Rust per se, I'm curious about the answer myself. I want to dedicate so much more time and resources on Rust, but I'm worries 5 to 10 years from now everything will be unmaintained. E.g. Haskell had a much more vibrant community before Rust came and decent amount of Haskellers moved to Rust.
- beeflet 1y agoI agree with the sentiment somewhat. Some rust libraries are dying, while some great new ones thrive (recently found iroh and wgpu to name a few). Everyone wants to write a game engine or some fun project and then abandon it, but no one wants to write a game. No application software has really "cemented" itself in the global ecosystem. Except for maybe ripgrep? I would like to see support for more compilers (https://rust-gcc.github.io/ https://rust-gcc.github.io/), more interoperability with C/C++, better support for cross-compilation. Maybe less reliance on crates.io, static linking, and permissive licenses. Still, I see Rust as the natural progression from C++. It has enough momentum to flatten all competitors (Carbon, Zig, Nim, Go) except scripting languages
- speed_spread 1y agoRust will not "flatten" Go. They have some overlap but generally don't serve the same purpose and don't appeal to the same crowd. Go's popularity is undeniable, both in open source and in the industry. Outside of major shops and the odd shady Fintech startup, there are still very little Rust jobs out there. It's not necessarily bad, it's just the nature of it. Rust adoption is a slow thing because it addresses problems faced by slow moving software.
- fpoling 1y agoGo jobs are not that popular either especially outside US. Java is way more popular and with recent improvements on JDK Go does not offer that match advantages over it. And compared with Go Java is fully memory-safe and have independent implementations.
- speed_spread 1y agoI like modern Java and agree it's a much better language than Go and an excellent platform in general. But Java will not beat Go where small and fast native executables are required. The native story for Java will remain a sad one, builds being hyper slow (aot) or resulting in huge binaries (jlink).
- hardwaregeek 1y agoNice! I've wanted to give a similar talk. My thesis is that Rust won on usability above all else. If you look at the semantics of Rust, it's essentially an ML style language with typeclasses and linear types. In some alternate history that's a PhD thesis by someone at Inria that exactly 4 people use. But by making the language actually usable with good errors, familiar syntax (yes, syntax matters!), and documentation, Rust got users. I don't want to get into an in depth comparison but if you look at the documentation of even the most popular functional languages, it's not even close. And they've had a head start of decades!
- pornel 1y agoRust has a combo: people come for safety, stay for usability. Languages struggle to win on usability alone, because outside of passion projects it's really hard to justify a rewrite of working software to get the same product, only with neater code. But if the software also has a significant risk of being exploited, or is chronically unstable, or it's slow and making it multi-core risks making it unstable, then Rust has a stronger selling point. Management won't sign off a rewrite because sum types are so cool, but may sign off an investment into making their product faster and safer.
- catlover76 1y ago[dead]
- torginus 1y agoGenerally speaking I was more prone to agreeing with Rust-haters, and thought the whole idea of how Rust lifetimes are implemented is flawed, and the borrow checker is needlessly restrictive. I also disagree with some other ideas like the overreliance on generics to do static dispatch leading to large executables and slow compiles. To be clear I still think these criticisms are valid. However after using the language in production, I've come to realize these problems in practice are manageable. The langauge is nice, decently well supported, has a relatively rich ecosystem. Every programming language/ecosystem is flawed in some way, and I think as an experienced dev you learn to deal with this. It having an actual functioning npm-like package management and build system makes making multiplatform software trivial. Which is something about C++ that kills my desire to deal with that language on a voluntary basis. The ecosystem is full of people who try to do their best and produce efficient code, and try to understand the underlying problem and the machine. It feels like it still has a culture of technical excellence, while most libraries seem to be also well organized and documented. This is in contrast to JS people, who often try to throw together something as fast as possible, and then market the shit out of it to win internet points, or Java/C# people who overcomplicate and obfuscate code by sticking to these weird OOP design pattern principles where every solution needs to be smeared across 5 classes and design patterns.
- valorzard 1y agoI was wondering where I recognized your name before, before I realized you're the linebender guy. Hello! Big fan of your UI research
- elvin_d 1y agoI’m glad not completely off with my bet 5 years ago that Rust will get larger chunk of the market. With the spread of AI Rust feels like a good candidate among Typescript and Python giants in a an era of coding assistant tools that needs a good nudge like Rust compiler.
- Zee2 1y agoAs a counterpoint, Rust is one of the languages that AI is worst at writing - currently, at least. Perhaps there could be a future where the compiler/checker will be able to integrate more closely with whichever agent is attempting to write Rust - more closely than the current paradigm, where a hapless Claude repeatedly bashes its head into the borrow checker to no avail.
- redman25 1y agoI think I disagree with this sentiment. I’ve found AI to be poor at one-shotting rust but give it a short agentic loop running `cargo check` and it can often produce code more solid than that created with a dynamically typed language.
- thekingofravens 1y agoAnd when it does finally make something that works in Rust, its admittedly far more trustworthy than AI code in other languages. It does struggle a lot though.
- akkad33 1y ago> Rust is one of the languages that AI is worst at writing - currently, at least Everyone makes similar statements about AI, Ai is currently bad at this or that. I find it quite good to write Rust. Can you give a concrete example of what AI failed to write for you
- josevalerio 1y agoNot OP but it consistently says that logging JSON (specifically nested JSON while not having escaped strings) with the tracing crate is not possible or provides wrong solutions. However this is doable, just under an experimental feature flag since 2022[1]. I created this repo[2] with a small blog post, hopefully the scrapers can pick it up :') [1]https://github.com/tokio-rs/tracing/discussions/1906 https://github.com/tokio-rs/tracing/discussions/1906 [2]https://github.com/joswayski/tracing-valuable-example https://github.com/joswayski/tracing-valuable-example
- fulafel 1y agoThe most interesting slide IMO: The diaspora Mozilla laid off much of the Rust team in August 2020 - Hacker News discussion https://news.ycombinator.com/item?id=24143819 ~everybody landed at a big tech company Result: Rust knowledge well distributed around industry No one company dominates - In contrast to Java, Swift, Go, C#, Dart Strong sense of collaboration & common mission - You can really feel this at conferences
- mrklol 1y agoRegarding Go, does Google actually "dominates“? Google has a team for the development of the language but does that mean it dominates?
- database64128 1y agoYes. To land a change in the Go standard library, you'll need 2 Google employees to approve your change on their "trusted devices".
- xyzzy_plugh 1y agoThis is demonstrably false. There are many approvers that do not work for Google.
- dijit 1y agoThen it should be easy to find examples of changes going into the STL that have not had the approval of multiple Googlers.
- database64128 1y agoHave you actually contributed to the Go standard library? Yes, there are people who don't work for Google and can +2 on changes, but you still need 2 Google employees to at least +1 on your change before it can be submitted. This is mentioned in the Contribution Guide [0] and is enforced by Gerrit. > Finally, to be submitted, a change must have the involvement of two Google employees, either as the uploader of the change or as a reviewer voting at least Code-Review +1. This requirement is for compliance and supply chain security reasons. [0] https://go.dev/doc/contribute https://go.dev/doc/contribute
- Animats 1y agoHere's an amusing anti-Rust talk: "Rust a language without poetry".[1] It's a reasonable critique, but the presentation is awful. It seems that someone took a paper and ran it through some AI program that provided text to speech and irrelevant images. Need to run it through a tool to extract the text, then discard the video. "Every (lost) week spent refactoring to satisfy lifetime constraints..." Not wrong. [1] https://www.youtube.com/watch?v=kLXXZddWCJU https://www.youtube.com/watch?v=kLXXZddWCJU
- pohl 1y agoThat was amusing. It felt like those AI ads that YouTube sometimes feeds me, where a perpetual preamble promises to have a point and to get to it, which might have something to do with toe fungus or restoring virility but you’ll never know because the actual point is to lull you into a trance-like state of perfect thoughtlessness.
- weinzierl 1y agoI once read an interview with Guido van Rossum where he was asked what the point in time was when he realized that Python took off. He said, never, it just slowly but continuously grew. This stuck with me. I hope we can say the same thing about Rust 10, 20 or 30 years from now.
- IshKebab 1y agoI dunno I would say maybe the point at which Microsoft and Google started using it.
- thekingofravens 1y agoPython was my first language and that is precisely how it felt. I would be at a convention or conference and mention python and it seemed like people didn't care, had a negative opinion or just didn't use it. It was treated as something only semi-programmers did, like people whose job wasn't actually programming, business analysts or scientists. Then one day python was suddenly top of the charts, probably post python 3 (old timers hated it but it really improved ergonomics) but not immediately so. Rather later on when they fixed the performance loss from 2->3 (which looking back as a primarily Rust coder now, was a hilarious argument that community had internally because even my worst, most quickly cobbled together rust code beats some of my best python code at the same task performance wise).