Announcement

Collapse
No announcement yet.

Mozilla Updates To Rust 0.9 Programming Language

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

  • #41
    Originally posted by cmr~ View Post
    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.
    If code that looks like C can be compiled by dmd, then it should behave like C.

    But D is not a drop-in replacement for C and indeed is more like C++ (in fact it got even worse over time…)

    Personally I don’t like what I’ve seen about the Rust syntax, D v2 sucks for being too complicated, and Go is great but lacks official bindings for many libraries…
    Last edited by stqn; 01-10-2014, 09:36 PM.

    Comment


    • #42
      Originally posted by cmr~ View Post
      That's uninteresting because of the memory safety problems inherent in the languages. What purpose would there be for a language exactly like C except for ... what? What would you change? The syntax? That's not a compelling reason to switch languages, even if it's a mechanical transformation. C++ is far too complex to even possibly recreate.
      What? Lots, I'm not even gonna try to make a list of issues, just think how much could be removed, moved or changed if a clean break was an option.
      A quick random list: remove std::string, exceptions etc from C++, put a utf8 string, threads, sized ints (e.g. uint32_t) etc in the core language, stuff like proper pragma_once, and lots lots more, yet, unlike Vala, Go and D, stay C/C++-like, not Python-like. Design them to depend less on macros.

      Comment


      • #43
        I tried Rust, but it is far too complex for my taste. If you are making programming language to replace C++ (what i think Rust is trying) you should make that language simpler so switch would be less painful.
        For example, rust has 3 types of pointers (if i counted that correctly) and the first topic in tutorial about pointers is You don't actually need pointers. Than why did you make 3 types!?!?
        And about tricks you can do with semicolons: it maybe saves you from typing couple of characters, but greatly decreases code readability.
        I really wanted to like rust, but it just failed for me, maybe i didn't give it enough time. I still hope for all 3 new programming languages (D, Go and Rust) to succeed, so I (or maybe my children) can forget about C++.

        Comment


        • #44
          I tried Rust, but it is far too complex for my taste. If you are making programming language to replace C++ (what i think Rust is trying) you should make that language simpler so switch would be less painful.

          For example, rust has 3 types of pointers (if i counted that correctly) and the first topic in tutorial about pointers is called You don't actually need pointers. Than why did you make 3 types!?!?
          And about tricks you can do with semicolons: it maybe saves you from typing couple of characters, but greatly decreases code readability.

          I really wanted to like rust, but it just failed for me. Maybe i didn't give it enough time. I still hope for all 3 new programming languages (D, Go and Rust) to succeed, so I (or maybe my children) can forget about C++.

          Comment


          • #45
            Originally posted by Temlar View Post
            I tried Rust, but it is far too complex for my taste. If you are making programming language to replace C++ (what i think Rust is trying) you should make that language simpler so switch would be less painful.

            For example, rust has 3 types of pointers (if i counted that correctly) and the first topic in tutorial about pointers is called You don't actually need pointers. Than why did you make 3 types!?!?
            And about tricks you can do with semicolons: it maybe saves you from typing couple of characters, but greatly decreases code readability.

            I really wanted to like rust, but it just failed for me. Maybe i didn't give it enough time. I still hope for all 3 new programming languages (D, Go and Rust) to succeed, so I (or maybe my children) can forget about C++.
            D is far more complex then rust. Rust is actually quite simpler then C++ IMO.

            As for 3 types of pointers. Well raw pointers are simply pointers without any safety (like pointers in C, same * operator). They are generally discouraged and only there for low level/performance critical code and interoperability with code in other languages. There are then managed pointers and owning pointers. Most people use owning. So much so that managed pointers were removed out of the language and into the standard library, so you need to explicitly ask for them.
            See: http://static.rust-lang.org/doc/0.9/...#pointer-types

            Comment


            • #46
              Originally posted by cmr~ View Post
              We're not a valid C++ replacement for certain uses of it. We lack templates, and templates are extremely powerful as an abstraction mechanism. Eigen or Boost could never exist for Rust, we simply don't have the expressive power. Of course, our type system makes up for it in other ways, but it rules us out in some categories of usage.
              Hi cmr~, the Rust website mentions that it supports generics and metaprogramming, which I assumed to mean something comparable to C++ templates'. Is that not the case? What can templates do that Rust can't?

              Comment

              Working...
              X