Announcement

Collapse
No announcement yet.

Rust 1.33 Released With Pinning, Library Stabilizations

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

  • #11
    Originally posted by moltonel View Post

    FWIW I find those syntax choices are good ones, but that's a very superficial look at the language.
    Novices usually complain about syntax. It's the topmost layer and basically the only thing they manage to grasp even partially when it comes to new languages.

    Comment


    • #12
      Originally posted by ssokolow View Post
      Rust draws heavy inspiration from the ML family of languages, such as Standard ML
      The ignorance towards history and (historical) academic languages just shows how little the speaker knows about the topic. Implementation details of the Hindley-Milner class lambda languages are the most basic form of knowledge you learn in PL theory 101. Otherwise you'll end up with PHP or JS.

      Comment


      • #13
        Originally posted by jacob View Post
        high-performance code
        With automatic bounds checks? Don't make me laugh.

        Comment


        • #14
          Originally posted by msotirov View Post
          Waiting for Weasel to arrive and start hating on Rust.
          Reporting for duty!

          Comment


          • #15
            Originally posted by uid313 View Post
            Pretty cool language, but the Ruby-inspired syntax and parts are off-putting. A bit difficult to understand.

            Stuff like |foo| and &'a is weird. "pub" could be "public" and "fn" could be "function".
            Nice to see a post from you that's not filled with many questions :P

            Comment


            • #16
              Originally posted by uid313 View Post
              Pretty cool language, but the Ruby-inspired syntax and parts are off-putting. A bit difficult to understand.
              True.

              Originally posted by uid313 View Post
              Stuff like |foo| and &'a is weird. "pub" could be "public" and "fn" could be "function".
              Exclamation for macros is also weird, and "let mut". The reason for the usage of " pub" and "fn" is because they want to keep keywords short.

              Comment


              • #17
                Originally posted by Vistaus View Post

                Nice to see a post from you that's not filled with many questions :P
                Why isn't it? How about this?
                Is there full Wayland support?
                Does it support input types datetime-local, month and week yet? dialog? system-ui font? Is it fully rewritten in Rust yet?
                Does it support Adaptive-Sync/VRR? Over HDMI? With HDR support? 192KHz 32-bit audio?
                Is there a RISC-V build? That runs on my to-be-manufactured $35 board?
                Did the fox jump over a lazy dog?

                Sorry, couldn't resist to try.

                Comment


                • #18
                  Originally posted by Weasel View Post
                  With automatic bounds checks? Don't make me laugh.
                  You make me laugh at you. *WHEN* automatic bounds checks are present, their performance impact is not even measurable in 99% of the use cases. But in fact, they need not be present at all. In scenarios where they *may* pose a performance problem, such as, typically, a matrix product, you don't use them in idiomatic Rust. Instead you use iterators, where the bounds check serves at the same time as your loop condition. The generated code is the same as what you would get out of Clang, but with none of the safety issues of C. Sorry to disappoint you.

                  Comment


                  • #19
                    Originally posted by jacob View Post

                    You make me laugh at you. *WHEN* automatic bounds checks are present, their performance impact is not even measurable in 99% of the use cases. But in fact, they need not be present at all. In scenarios where they *may* pose a performance problem, such as, typically, a matrix product, you don't use them in idiomatic Rust. Instead you use iterators, where the bounds check serves at the same time as your loop condition. The generated code is the same as what you would get out of Clang, but with none of the safety issues of C. Sorry to disappoint you.
                    Not to mention that, in situations where that's not possible, assert! (which doesn't vanish in release builds. That's debug_assert!) can be used to prompt the optimizer to strip out bounds checks by asserting the validity of the last index to be accessed, so no bounds checks are needed on the accesses. (The optimizers are also smart enough to only check once if you iterate backwards from the last index down to zero.)

                    Comment


                    • #20
                      Originally posted by tildearrow View Post

                      Why isn't it? How about this?
                      Is there full Wayland support?
                      Does it support input types datetime-local, month and week yet? dialog? system-ui font? Is it fully rewritten in Rust yet?
                      Does it support Adaptive-Sync/VRR? Over HDMI? With HDR support? 192KHz 32-bit audio?
                      Is there a RISC-V build? That runs on my to-be-manufactured $35 board?
                      Did the fox jump over a lazy dog?

                      Sorry, couldn't resist to try.
                      Every day we stray further from God's light...

                      Comment

                      Working...
                      X