7 ms·
That is also Rust's curse. The community is dominated by people who have never programmed in Ada/Spark and barely know Haskell, yet they're constantly blabberin
by jonathanstrange 5y ago
That is also Rust's curse. The community is dominated by people who have never programmed in Ada/Spark and barely know Haskell, yet they're constantly blabbering about safety features and all of this without a formal language specification and standard, and therefore also without a way to validate and rigorously test an implementation. It's kind of the opposite of what you'd expect from a modern safe language.
But it's a good replacement for C++ and roughly on a par with it in terms of (low) developer productivity.
- yakubin 5y agoWhy would knowing Haskell be an advantage in the task of ensuring safety in Rust? It's for sure worthwhile to know many languages, but I don't know why knowing Haskell is considered a badge of honour. It's just another language. For ensuring safety of Rust, knowledge of type theory and Rust sounds like should be enough. Tangentially, Haskell itself is unsound. It's also a messy kitchen-sink language in practice, giving me C++ vibes (yes, a bit ironic in the context of Rust, but still true). As for productivity, the number of widely-used programs written in Haskell does not convince me. Unless we're talking about languages whose purpose is implementing compilers.
- jonathanstrange 5y agoHaskell was used in banking and the aerospace industry for high integrity systems, that's why I mentioned it in addition to Ada/Spark.
- deleted 5y ago[deleted]
- j-pb 5y ago> why would knowing Haskell be an advantage in the task of ensuring safety in Rust My take would be that _any_ language with a heavy emphasis on type oriented programming would be a good primer for a systems programming language which uses its type system as it's primary means of ensuring safety. Haskel is just the best known / most widely used(?) of the bunch. But even if you include other type-driven languages, OPs point remains in that the typical Rust dev either has a C++ or Scripting language background, without a strong theoretical foundation.
- steveklabnik 5y ago> OPs point remains in that the typical Rust dev either has a C++ or Scripting language background, without a strong theoretical foundation. You may be conflating Rust users with the Rust developers. Several of the people involved, including Niko Matsakis (co-lead of the language team, who invented the borrow checker), Felix Klock (co-lead of the compiler team), and Ralf Jung (whose work is the paper above, among other things, and has been focused on specifying/proving unsafe Rust for the last few years) have PhDs in programming language topics. And even folks without formal credentials refer to existing academic works when talking about building Rust. Heck, we even used to ship a bibliography of papers! https://doc.rust-lang.org/1.30.0/book/first-edition/bibliography.html https://doc.rust-lang.org/1.30.0/book/first-edition/bibliogr...
- Dylan16807 5y agoI don't think that's conflation, really. When I say "[programming language] dev" I always mean the people that program using that language, not the people that make the language.
- steveklabnik 5y agoI would agree, but that’s why it’s the wrong group to look at; if you’re going to claim that the language lacks theoretical foundation because the people who use it don’t have one, that’s a category error.