4 ms·
I've never tested my hand with Rust, but I've come to appreciate reading its ecosystem of champions who seem to be, like this is hard. that's a good thing.
by noduerme 4y ago
I've never tested my hand with Rust, but I've come to appreciate reading its ecosystem of champions who seem to be, like this is hard. that's a good thing.
- eximius 4y ago'hard' is not the goal, so much as "don't skip inherent complexity". It turns out things were already hard, Rust just has the tools to make it tractable to deal with all of it instead of ignoring it.
- humanrebar 4y ago> "don't skip inherent complexity" ...except when it comes to build and packaging problems. The thing missing from this conversation is that we're talking about Rust the language, C the language, and C++ the language. In practical terms, the ways you go from "this is source code" to a running program matters a lot for end users. Point being, so far the Rust community mostly camps out in cargo land and ignores the hard problems of how to get systems code into the various ecosystems that benefit from close-to-the-metal programming. Maybe some day it will be figured out, but it's essential complexity to the broad problem space.
- TazeTSchnitzel 4y agoCan't you integrate rustc into any C or C++ build system?
- humanrebar 4y agoIn theory. In practice, there are a lot of complications to sort out, especially if you want to have Rust call C that calls Rust that calls C that calls C++. Build requirements of transitive dependencies need to be communicated and propagated, keeping in mind that C and C++ rarely uses cargo and at least public Rust crates rarely use anything else.
- eximius 4y agoThat is, admittedly, something Rust has not prioritized. I think it was probably the right decision given how successful the cargo approach has been in terms of bootstrapping a language community. There are some very talented people thinking about the interoperability story, but it is also hard so they haven't committed to a solution prematurely.
- crispinb 4y agoI wish that were true. If you dare mention finding anything hard in Rust circles, you'll get swamped with "no, you're wrong, it's dead easy!" responses (with the obvious implication about anyone who finds it hard). More specific questions will often get extremely helpful and detailed responses, so I'm not remotely claiming the community is horrible. You just have to project a fair bit of "Shiny Happy Rust Person" to get on with it if you don't want to get bogged down with pimply arguments.
- Ygg2 4y agoI hear this a lot. But don't see that much evidence. Is it hard? Yes. Is it impossible? I came to Rust from Java and despite hurdles I learned it during it's most difficult part - before lifetime elision.
- crispinb 4y agoThis is so close to a demonstration of my point that I'm tempted to believe it's satire.
- Ygg2 4y agoIt's not satire. It's not happy shiny Rust is perfect nor demonstration of it being easy. Despite what you want it to be. I'm around average developer of 40ish years, that learned Rust when it was at its hardest. And yes, going from Java to Rust was hard compared to C#. I needed months to get proficient, compared to mere hours in C#. Honestly, learning Git was harder than Rust. That took 4-5 months to re-learn it proper and get rid of training wheels. And it was as hard as learning Haskell/Prolog. Hell, I'm still horrible in Prolog. And people don't complain as much about those two. People seem to forget that saying "A new programming language should completely change your mental model", otherwise you're learning a new dialect not a language.
- crispinb 4y ago> And people don't complain as much about those two Why do you opt to label plain descriptions of Rust as being difficult as 'complaint'? There's nothing inherently wrong with something being difficult to learn. Au contraire, I would have thought, unless the difficulty is unnecessary, which isn't something I've seen levelled much against Rust. The Rust Foundation has 'Flattening the learning curve' [sic] on its 2024 roadmap: https://blog.rust-lang.org/inside-rust/2022/04/04/lang-roadmap-2024.html#Theme-Flatten-the-learning-curve https://blog.rust-lang.org/inside-rust/2022/04/04/lang-roadm.... Is that a 'complaint', or just a reasonable response to an empirical reality? The complaint, inasmuch as there is one, is against the loud subsection of the Rust community which swamps any reference to Rust's difficulty with "no it's dead easy! You're just wrong!" (they leave the 'and probably thick' as an obvious inference, stiffly maintaining the rictus).
- api 4y agoIt’s not that hard in the end, just up front. It has a learning cliff with a plateau at the top. When you get it you are like “wow so this is how you make all those threading and memory bugs go away forever with near zero overhead” and you are good to go. You never go back. It’s nice writing code that just will not fail in certain ways.