5 ms·
> And, as I said at the start, that makes me kinda sad, because I do actually like Rust. I think that’s the most important part of the article. People like Rus
by noncoml 6y ago
> And, as I said at the start, that makes me kinda sad, because I do actually like Rust.
I think that’s the most important part of the article. People like Rust but it’s becoming more complex than C++. But unlike C++ it’s more difficult to pick and choose what you use.
Rust’s death will be one by thousand cuts. “I really like the language but can’t justify all that complexity in my new small and simpke project” is what will cause the popularity to drop.
- roca 6y agoIt is in no danger of become as complex than C++. Nowhere near.
- 0xdeadfeed 6y agoThe pace it is going at, it’s not that far from it
- infogulch 6y agoI am curious where you get that impression. From what I could see, recent releases have just been "smoothing over pits" / filling in obvious type holes left over from older changes. Changes in rust edition 2021 are tiny and it seems to only exist in order to establish a regular cadence.
- sai_c 6y agoDisclaimer: I've only dabbled in Rust from time to time, but have not written anything serious with it. Those kind of comments are not based on looking at Rust's features on a theoretical level. It's more from the viewpoint of "How hard is it to get something (correctly) done". Those impressions are mostly formed either from using the language and failing (or having severe difficulties) to solve a given problem, or being exposed to blog posts describing those kinds of problems. Rust sure does not have as many features as C++, but it seems that in practice, the combination of available features (and/or the problems those create) is perceived as just as complex as C++. Though not being a fair assessment, the Rust community will have to try fighting this perception, if Rust is not to be labeled way more complex than C++ in the coming years.
- roca 6y agoIt is hard to stop people perceiving Rust as over-complex if they are motivated to perceive it as over-complex.
- sai_c 6y agoYes, indeed. Yet, this is the problem to solve. I don't know if you are using Rust, but what would you say, why is that? Where does that motivation come from?
- roca 6y agoI've been developing mostly in Rust for the last five years. C++ for decades before that. It is always comforting to dismiss something that you haven't made much effort to understand as unnecessarily overcomplex. I think we're all guilty of that at times.
- sai_c 6y agoAh, i see. But the systems crowd (I'm going to lump them all together: microcontroller, kernel, high performance networking, etc.) is supposed to be the main target audience. For me it is hard to believe that so many of them just brush it off as too complex on first sight. On the other hand, maybe those folks decided, after giving it a serious try, it's not worth it. Mind you, that does not mean they are right. But in the end, if the effort for those people is perceived as too high, then maybe, just maybe, in practice it really is. After more than 25 years as a developer, I learned the hard way, that programming languages, are, in the end, a matter of taste. You won't get someone to use a language, just by citing the feature list. Programming languages are a product made for developers. If they don't like it (for whatever reasons, and yes, these are at times highly subjective) they won't use it.
- roca 6y agoSure, but we aren't making decisions in a vaccum with no consequences. If I really like C and I ship a bunch of C code that gets exploited to build a botnet, that decision had consequences. I should have valued safety higher and the fact I didn't "like" safe alternatives was a distraction.
- rapsey 6y agoMajority of Rust releases are quality of life improvements. They make usage simpler and improve the std.
- jedisct1 6y agoTraits, generics, lifetimes, macros and endless, and incomprehensible backtraces when using Futures already makes it more complex. Rust is difficult to read and maintain, due to the common use of abstractions over abstractions over abstractions. Just looking at a structure, it’s already hard to understand what functions are available (hidden in traits, themselves behaving different according to cargo features…). And of course, it also has things such as operator overloading, and hidden heap memory allocations, so there’s a lot of hidden control flow happening. It’s also even slower than C++ to compile, especially when using macros. And it doesn’t have static analysis too as C++ does. Both of these also contribute to “complexity” as in “how much effort it takes to write an application”.
- roca 6y agoThe fact that Rust has traits and generics doesn't make it more complex than C++, because they substitute for C++ features that are even more complex (classes, virtual methods, templates, concepts). I believe C++ is far more complex because, having programmed in C++ for 30 years and hanging out with other developers with similar levels of experience, I still trip over weird C++ features that I never knew existed. My latest example: Argument Dependent Lookup, which means f(a) and (f)(a) can wind up calling completely different functions. How many C++ developers know that? In my experience, Rust has fewer complexities like that.
- coopierez 6y ago> But unlike C++ it’s more difficult to pick and choose what you use. Can you expand on this point?
- lutoma 6y agoAs a C developer who has never really used C++ or Rust I sort of agree. Looking at Rust introductory guides I increasingly get the same feeling as looking at C++ things, where there's just _too much_ of everything. I know it's a subjective feeling that is probably unfair to the language, but it's still the impression I get. I'm confident if I actually put in the work to learn Rust I would end up liking it and I plan on doing that at some point, but it certainly doesn't help my motivation.
- ruph123 6y ago> As a C developer who has never really used C++ or Rust I sort of agree. So you are saying: “As someone who has never really used A or B I agree with the comparison of A and B.” Pretty much sums up some of the comments here. People who don’t spent much (or any) time with Rust make (or support) wild statements like this. Rust is what you can learn in a few weeks, C++ takes a lifetime and then you are dead.