Announcement

Collapse
No announcement yet.

Rust Language 0.10 Released With Big Improvements

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Ericg View Post
    Well yeah, its a 0.10 of a language lol. I just wish it was prepackaged in Fedora to play around with because I'm really interested by this
    There 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

    Comment


    • #12
      Originally posted by cmr~ View Post
      There 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
      Thanks 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.
      All opinions are my own not those of my employer if you know who they are.

      Comment


      • #13
        Originally posted by Ericg View Post
        Thanks 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.
        I was unaware of that bug, thanks! Two of the patches have been upstreamed in the past day or so, and someone is actively working on the rest.

        Comment


        • #14
          Originally posted by Michael_S View Post
          One 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.
          I 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


          • #15
            Originally posted by yourWife View Post
            I 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.
            Servo had 26 contributors in the last month (17 in the last week), and has a few full-time Mozilla people working on it, as well as a few from Samsung. It's still the largest non-rustc Rust project.

            Comment


            • #16
              Originally posted by cmr~ View Post
              EDIT: 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.
              Isn't Rust higher level than C(++)? If so, how is that possible? Do you have benchmarks to prove that?

              Comment


              • #17
                Originally posted by Calinou View Post
                Isn't Rust higher level than C(++)? If so, how is that possible? Do you have benchmarks to prove that?
                No, Rust is actually a fair bit *lower level* than C++, at least in terms of some of the abstractions we support. C++ has far more expressive metaprogramming (templates are a fractal of complexity, but extremely powerful). We also don't have any form of inheritance (right now, at least. there are many RFCs for it competing, see https://github.com/rust-lang/rfcs).

                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


                • #18
                  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


                  • #19
                    Rust seems to me like a Scala version of C/C++ =P

                    Comment


                    • #20
                      Originally posted by andrei_me View Post
                      Rust seems to me like a Scala version of C/C++ =P
                      That's not a very good comparison I don't think. Scala has HUGE amounts of features which interact in many strange, surprising ways. I don't think there's any existing project to compare Rust to, really. It's basically the first in its space. Maybe Ada.

                      Comment

                      Working...
                      X