▲ | noelwelsh 5 days ago | |||||||
I think "no gc but memory safe" is what originally got people excited about Rust. It's a genuinely new capability in production ready languages. However, I think Rust is used in many contexts where a GC is just fine and working with lifetimes makes many programs more painful to write. I think for many programs the approach taken by Oxidized OCaml[1] or Scala[2] gives 80% of the benefit while being a lot more ergonomic to work with. When I see Rust topping the "most loved language" on Stack Overflow etc. what I think is really happening is that people are using a "modern" language for the first time. I consistently see people gushing about, e.g., pattern matching in Rust. I agree pattern matching is awesome, but it is also not at all novel if you are a PL nerd. It's just that most commercial languages are crap from a PL nerd point of view. So I think "no gc but memory safe" is what got people to look at Rust, but it's 1990s ML (ADTs, pattern matching, etc.) that keeps them there. [1]: https://github.com/oxcaml/oxcaml [2]: https://docs.scala-lang.org/scala3/reference/experimental/cc... | ||||||||
▲ | voidhorse 4 days ago | parent | next [-] | |||||||
Spot on. It's also fascinating to watch people have their minds blown in 2020+ by basic features that have been around since the nineties. It's kind of sad, actually. The industry would be in such a better place than it is today if so many programmers weren't allergic to all things academic and "theoretical" and were more curious and technical than they were conceited. It's baffling that computing, literally a subject area in which the theory quite literally is the practice, is so full of people who refuse to engage with theoretical work and research. | ||||||||
| ||||||||
▲ | josephg 4 days ago | parent | prev | next [-] | |||||||
> So I think "no gc but memory safe" is what got people to look at Rust, but it's 1990s ML (ADTs, pattern matching, etc.) that keeps them there. Yeah; this is my experience. I've been working in C professionally lately after writing rust fulltime for a few years. I don't really miss the borrow checker. But I really miss ADTs (eg Result<>, Option, etc), generic containers (Vec<T>), tuples, match expressions and the tooling (Cargo). You can work around a lot of these problems in C with grit and frustration, but rust just gives you good answers out of the box. | ||||||||
▲ | GeekyBear 5 days ago | parent | prev [-] | |||||||
> I think "no gc but memory safe" is what originally got people excited about Rust. I think it was more about "the performance of C, but with memory safety and data race safety". |