3 ms·
> I haven't worked long enough with C or C++ to complain about them (only about a decade or so), but I don't have any issues with those languages This may be p
by dagmx 6y ago
> I haven't worked long enough with C or C++ to complain about them (only about a decade or so), but I don't have any issues with those languages
This may be part of the reason. Rust improves on those languages in many ways including better safety, package and build setups as well as doc setups. It's genuinely a breath of fresh air setting up and maintaining rust projects versus C++ or even Python.
> I find it wholly unappealing to abandon the existing corpus of literal decades of knowledge having been poured into those language ecosystems
Rust builds on these ecosystems. It uses LLVM as its backend compiler, much like clang does for C++.
Additionally it has great support for CFFI so it can integrate very well into existing codebases with other languages.
> I just have too much experience in the industry to throw away my time and play with toys.
I read this as prejudice. Rust isn't a toy as can be seen by the large number of companies and projects that are putting significant efforts into it.
Conversely, perhaps having entrenched experience in the industry means you're predisposed to approaching new paradigms in the field with higher cynicism than may be warranted?
> It's ugly as sin, and I know I'm not alone in that opinion.
I think that's very much subjective. I do know many programmers who find it ugly, but many like myself who find it write clean to read.
Certainly I find it significantly easier to grok than C++ or Objective C for example. It's possible to write very elegant rust code that can verge on being Pythonic in nature. It's also possible to write very ugly code too.
> there was literally no one using Servo, the site didn't tell you how to actually use it
Servo is a research project from which portions have been taken and integrated into Firefox. That means a lot of people are using servo whether directly or indirectly.
- andrewmcwatters 6y agoI've noticed that Rust uses LLVM as well, but aren't there some significant compile time differences or am I recalling that from Go? I do definitely wish there was an easier way to go about Rust's C FFI, though. LuaJIT has spoiled me. All you do is preprocess headers and then you have access to all of the exports without having to do any work whatsoever.
- steveklabnik 6y agoGo is the language with very fast compile times; Rust's aren't particularly good, and, depending on the exact details, maybe slower than C++'s. It's pretty variable. We've been working on it but it's non-trivial. There are tons of tools in Rust to preprocess headers, and do even more fun things like https://github.com/Hywan/inline-c-rs https://github.com/Hywan/inline-c-rs (which is obviously not a general solution to this problem but is interesting)
- andrewmcwatters 6y agoOh very cool. Maybe I should spend some more time looking into those. Thanks for pointing that out!
- steveklabnik 6y agoNo problem. Some links to get you started: * https://crates.io/crates/bindgen https://crates.io/crates/bindgen (generate Rust FFI from headers) * https://crates.io/crates/cbindgen https://crates.io/crates/cbindgen (the inverse of bindgen) * https://cxx.rs/ https://cxx.rs/ (a similar tool to bindgen, newer)
- andrewmcwatters 6y agoThat's it right there. You may have just won me over by pointing these out. It's just so hard to go back to writing bindings mostly by hand instead of the other way around. I've generated thousands of bindings for all sorts of things, so it's really critical to my work. Thanks again, Steve. And for all your patience, too.
- adwn 6y agoFor what it's worth, I think it's great that you are willing to at least reconsider the pros/cons of Rust when presented to you, even if it's not enough to change your mind. I believe your issue with the "Rust hype" is that your pain points are different from the pain points of many other Rust users, and when they tell you that Rust is great for reasons A, B, C, you say to yourself, "so what?" But maybe you'd find Rust useful for less often cited reasons X, Y, Z, and you'll like it once you use it in earnest. Maybe you won't, and Rust isn't for you. And that's okay, too. Also, kudos to Steve. I sincerely admire your politeness and patience when confronted with less polite, less patient posts. You're probably the best ambassador the Rust community could have.