Originally posted by Ericg
View Post
Announcement
Collapse
No announcement yet.
Rust Language 0.10 Released With Big Improvements
Collapse
X
-
Originally posted by cmr~ View PostThere are binary nightlies for Linux, which aren't as nice as a package, but help with not having to compile it. It shouldn't be too hard to make an rpm out of it, but that's work no one has done yet
Just as a point of reference, and perhaps interest to you cmr... Fedora feature request / bug report for Rust: https://bugzilla.redhat.com/show_bug.cgi?id=915043 Are the LLVM patches upstream yet? That seems to be the blocker for Fedora, and likely other distros as well.All opinions are my own not those of my employer if you know who they are.
Comment
-
Originally posted by Ericg View PostThanks for the link, cmr, its better than nothing
Just as a point of reference, and perhaps interest to you cmr... Fedora feature request / bug report for Rust: https://bugzilla.redhat.com/show_bug.cgi?id=915043 Are the LLVM patches upstream yet? That seems to be the blocker for Fedora, and likely other distros as well.
Comment
-
Originally posted by Michael_S View PostOne thing that surprised me about Mozilla and Rust - the flagship Rust project is the "Servo" browser. The last time I tried to compile it, it involved tons of C and C++ code. I thought the plan was for the great bulk of the code to be Rust and other languages only used when required to interface with external libraries.
Comment
-
Originally posted by yourWife View PostI wouldn't call it "flagship" considering there're only about 5 men working on Servo directly. According to the speech given by a team member, they would expect a working prototype in 2 years, and that's an optimistic guess.
Comment
-
Originally posted by cmr~ View PostEDIT: Also, we don't believe in writing C or C++ for performance, since Rust can perform just as well as either of them. If it can't in a particular situation, that's a bug in Rust that needs fixing.
Comment
-
Originally posted by Calinou View PostIsn't Rust higher level than C(++)? If so, how is that possible? Do you have benchmarks to prove that?
We also have some very nice aliasing rules we can optimize with (see http://cmr.github.io/blog/2014/04/01...lysis-in-rust/ and http://cmr.github.io/blog/2014/04/04...asys-revisted/). I don't have any reproducible benchmark data that's up to date anymore, though you could take any of the many benchmarks in the source tree and port them to the equivalent C++. We have a built-in unit test and benchmark framework, grep for '#\[bench\]' in the source. https://github.com/mozilla/rust/issues/7532 is about adding more benchmarks. Integration with PTS would be interesting, I might put some work into that in the upcoming months.
But, anecdotally, and from comparing LLVM IR, we do very good when compared to clang, as well as the few "language benchmark game" programs that have been ported (shootout-* in https://mail.mozilla.org/pipermail/r...ry/008766.html). But like I said, we consider performing worse than C++ on equivalent code a bug.
Comment
-
I've done some work with Rust 0.9 (using the Gentoo overlay), so here's my two cents on it:- The toolchain is pretty easy to work with
- The tutorial on the site is fairly easy to follow
- There are some nice high level features that draw inspiration from Haskell, or functional programming in general
- The documentation can be a bit hard to follow when you're new to the language, partly because the system of structs and traits is more similar to Haskell's typeclasses than to anything object oriented. More examples would be helpful.
- The pointers are a pain to work with, because you constantly have to think about lifetimes and what the appropriate type is. This especially true when writing a function that returns an array.
In short, it's a low level C-like language with some high level / functional features. If you need a low level language enough that C/C++ is a real alternative, it's a great language, but if you need a high level language then the cognitive load of worrying about borrowed vs owned pointers isn't worth it. (If they'd kept garbage collected pointers in the language as a syntax annotation instead of implementing it as a container type, this wouldn't be the case.)
Comment
-
Originally posted by andrei_me View PostRust seems to me like a Scala version of C/C++ =P
Comment
Comment