Earlier quoted context omitted.
Yes, 1.0 is stable and the language will not change in backwards incompatible ways. It's been that way for months (google "rust stability deliverable"). "All bugs fixed" rules out every language in existence except CompCert, so I don't think that's a very interesting metric.
Good to know on stability part. Far as bugs fixed, it's more on the lines of day-to-day use of the language in common scenarios. Are people getting unnecessary troubles out of the compiler? Typically don't for most languages as they work out most of them in common idioms and library functions in first, few years. If they're serious rather than 1-3 people's hobby, that is. I certainly won't expect it to be bug free. N…
Why I love Rust
141–150 of 159 posts
Re: Why I love Rust
#142I want to spend at least 3-4 months learning a new language but just can't figure out if I should spent time learning Rust or Go. I am thinking more of it from a career perspective than interest.
One perspective could be that Rust is the more interesting talking point, even if you don't work on it in the job you are actually applying for. But if you purely want to get a job in one or the other, Go is currently much more widely used. I have hopes that this year will see a large jump in industry adoption of Rust, but that still remains to be seen. But as others have said - pick the one you think you'd enjoy the…
Re: Why I love Rust
#143Earlier quoted context omitted.
> I think that Rust simplifies some things that you must do yourself in C++, and learning how to do them is valuable. Given that you didn't answer the question, I think it's pretty clear at this point that you haven't used Rust. Rust is a low-level language with low-level control over memory and resources.
I certainly don't know Rust as well as C++. Some other fellows in this thread provided some features in C++ that you can't learn about in Rust, fyi.
Variadic generics and template templates are hardly interesting compared to concepts, pattern matching, and lifetimes. I use those every day in Rust, they simply don't exist in C++, and with the exception of lifetimes plenty of other languages have them too, so they're broadly useful to know. Variadic generics and template templates, on the other hand, are useful for a small subset of advanced library authors who have been programming in C++ for years.
Re: Why I love Rust
#144Earlier quoted context omitted.
> If you start with C++, you're committed to a multi year project, that's what it takes to advance from novice to junior level. This is nonsense. Perhaps it's true to some degree if you try to "learn" C++ from tutorials of dubious quality rather than from a decent book.
You sound like someone who has never really explored C++ lookup rules.
In any case, these rules do not fall under what I'd call "junior-level" C++ programmer as the OP wrote.
Re: Why I love Rust
#145Earlier quoted context omitted.
C++ has a well defined ABI on many important platforms. On GCC/LLVM based platforms it's standardised in specification documents. On Windows, I think the Visual C++ ABI is the de-facto standard. Regardless, there are only a handful of top C++ compilers. Interop with even one of them would be of tremendous value.
Yeah, I mean, the basics of interop might be possible, it will just never be as robust as it could be if C++ had features better designed to play with other languages. (This of course also affects Rust as well; we don't have a defined ABI either.)
Supporting C++ value types, even without templates, would in turn be enough to support quite a lot more. For instance Unreal Engine defines its own string types, as do Qt and so on.
Re: Why I love Rust
#146I want to spend at least 3-4 months learning a new language but just can't figure out if I should spent time learning Rust or Go. I am thinking more of it from a career perspective than interest.
If you don't have many languages under your belt (and wanting to spend 3-4 months and asking for advice what to choose suggests that), you don't really want to go with a language that popped semi-stable only several months ago, hence will be most probably a subject to deep changes (either in the language itself or in standard library). Rust is not (yet) the way to go.
Not sure if that was intended, but that was one epic pun!
Re: Why I love Rust
#147I want to spend at least 3-4 months learning a new language but just can't figure out if I should spent time learning Rust or Go. I am thinking more of it from a career perspective than interest.
If you don't have many languages under your belt (and wanting to spend 3-4 months and asking for advice what to choose suggests that), you don't really want to go with a language that popped semi-stable only several months ago, hence will be most probably a subject to deep changes (either in the language itself or in standard library). Rust is not (yet) the way to go.
Re: Why I love Rust
#148Earlier quoted context omitted.
Good to know on stability part. Far as bugs fixed, it's more on the lines of day-to-day use of the language in common scenarios. Are people getting unnecessary troubles out of the compiler? Typically don't for most languages as they work out most of them in common idioms and library functions in first, few years. If they're serious rather than 1-3 people's hobby, that is. I certainly won't expect it to be bug free. N…
I've seen rust compiler bug once and that was long before 1.0. The only issue now is that some important API's are not yet declared stable (RFC still being open), so many 3rd-party libraries target nightly and won't work in stable. This is however matter or 1 or 2 releases, and proves that rust developers take this matter seriously and don't wont to stabilize anything they aren't 100% sure. For all practical purposes…
Re: Why I love Rust
#149Earlier quoted context omitted.
Yeah, I mean, the basics of interop might be possible, it will just never be as robust as it could be if C++ had features better designed to play with other languages. (This of course also affects Rust as well; we don't have a defined ABI either.)
Sure, you can't get completely perfect interop. However a LOT of real C++ codebases don't use or explicitly ban some of the trickiest features, so even partial support can go a long way. For instance, supporting the basic class/vtable layout C++ uses (or even just adopting the C++ ABI for Rust itself here) along with char* strings, would immediately allow you to call into a lot of real C++ APIs, albeit older ones. Su…
Re: Why I love Rust
#150Earlier quoted context omitted.
If you don't have many languages under your belt (and wanting to spend 3-4 months and asking for advice what to choose suggests that), you don't really want to go with a language that popped semi-stable only several months ago, hence will be most probably a subject to deep changes (either in the language itself or in standard library). Rust is not (yet) the way to go.
Rust is more than semi-stable: we take backwards compatibility very seriously. It will not be subject to deep changes from here on out, or at least, those changes will not break existing things.
You're yet to display that. Half a year is too short time to give that confidence.