Page 4 of 5 FirstFirst ... 2345 LastLast
Results 31 to 40 of 46

Thread: Mozilla Updates To Rust 0.9 Programming Language

  1. #31

    Default

    Quote Originally Posted by mrugiero View Post
    I can't think in terms of Java, as I don't know Java. I do think I understood your explanation, anyway.
    It is pretty simple really. Normally when you would write Rust/C# code etc, you would get safe behavior by default the languages provide escape hatches if you want to do things a bit more low level and/or want tighter control.

  2. #32
    Join Date
    Dec 2012
    Posts
    43

    Default

    Quote Originally Posted by profoundWHALE View Post
    I thought the point of D was to be a drop-in replacement for C, while at the same time being easier to code in. So all existing C code can just be compiled in D and all new code should be easier to maintain and develop.

    Am I right?
    No, you're entirely off. D is nothing like C. D is more like C++ in its capabilities, but the syntax is different etc etc etc etc etc. It's not backwards compatible with anything.

  3. #33
    Join Date
    Jul 2010
    Posts
    542

    Default

    I think Rust could work quite well as C/C++ replacement or at least alternative, now that they dropped garbage collection (gc and refcounted pointers are provided by std lib).

    It has some nice stuff like traits(to implement interfaces), immutable variables by default, no raw pointers (well, not in safe code) and all the crap they bring with them.

    So it is like a more safe variant of C++ without the template metalanguage stuff (some might consider this a plus ).

    The only bit I personally am not thrilled about is the syntax, which on the first look seems like an amalgamation of a number of languages. But it gets the job done I guess. To quote Rust Reference Manual:
    Additional specific influences can be seen from the following languages:

    The structural algebraic types and compilation manager of SML.
    The attribute and assembly systems of C#.
    The references and deterministic destructor system of C++.
    The memory region systems of the ML Kit and Cyclone.
    The typeclass system of Haskell.
    The lexical identifier rule of Python.
    The block syntax of Ruby.

  4. #34
    Join Date
    Dec 2012
    Posts
    43

    Default

    Quote Originally Posted by mrugiero View Post
    Well, rewriting the whole kernel just to switch language is a considerable task, for no short term benefit.



    I don't understand, didn't you just said it's memory safe, but still he got a triple fault? Are they unrelated? Or is just the port still uses some C and that was the origin of the fault?
    It was a bug in his task register handling code. Indeed, it was in an `unsafe` block. It's unrealistic to expect our safety mechanism to always be correct, and it's not possible to implement some things in it (for example, a reference-counted pointer). To that end we offer an `unsafe { ... }` that allows one to manipulate and dereference raw pointers.

  5. #35
    Join Date
    Dec 2012
    Posts
    43

    Default

    Quote Originally Posted by Marc Driftmeyer View Post
    Rust will never replace C/C++. Get over it already. Make those languages meet your criteria through their standards specs.
    Impossible to do while retaining backwards compatibility. Besides, we can't add nice things like type classes, algebraic types and pattern matching. C only got "generics" to support porting fortran!

    Sure it probably won't replace C or C++. At least not for a looong time. But being a viable C or C++ replacement is a great goal. It's not like we don't know what we're doing; Rust is battle-forged from the pains of C++. Statically eliminating race conditions, iterator invalidation, and use-after-free is pretty cool.

  6. #36
    Join Date
    Oct 2013
    Location
    Canada
    Posts
    471

    Default

    What I would like is benchmarks against both C and C++ for it's would-be replacements, then have those benchmarked along with a list of each of their pros and cons. Because right now it's not a question of if C/C++ (and Java) will be replaced, it's a question of what with.

  7. #37
    Join Date
    Oct 2013
    Location
    Canada
    Posts
    471

    Default

    Oops, I should've used google first. Here:
    http://togototo.wordpress.com/2013/0...la-and-nimrod/

    It's only one benchmark of one program, but it gives a good idea as to the performance.

  8. #38
    Join Date
    Oct 2011
    Posts
    227

    Default

    Quote Originally Posted by profoundWHALE View Post
    Oops, I should've used google first. Here:
    http://togototo.wordpress.com/2013/0...la-and-nimrod/

    It's only one benchmark of one program, but it gives a good idea as to the performance.
    Another bench. http://attractivechaos.wordpress.com...udoku-solving/

  9. #39
    Join Date
    Oct 2013
    Location
    Canada
    Posts
    471

    Default

    I must say that the amount of performance that's come out of such young programming languages is amazing.

    Rust is somewhere just over 1 year old
    Go about 6 years old
    D (version 2) about 6 years old
    D (version 1) about 12 years old

    Good work is being done.

  10. #40
    Join Date
    Sep 2011
    Posts
    66

    Default

    Nothing will replace C for the Linux kernel. There's no reason to replace it, there's too much code in C already and there's just nothing out there that performs as well as C, not even C++.
    Go is more like a python contender from what I understand so that leave C++ vs D vs Rust.
    You can make programming languages but they also need to catch on. D hasn't and I doubt it will C# has because MS pushed it and well it's also probably pretty good ( I like it because it's easy to read C# code).
    The only thing that I do hate with all my heart in Rust is variable declaration :
    Code:
     let price;
    let monster_size: int = 50;
    Seriously ? This reminds me of Basic or something even lamer. And this in a language ment to replace C++.

    We'll see if Rust catches on but I for one don't thing C++ is that bad if you know how to program in C++. Give it some extensions like boost or Qt and it's almost as easy as higher level languages like C# and Java.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •