Announcement

Collapse
No announcement yet.

Rust-Written Replacement To GNU Coreutils Progressing, Some Binaries Now Faster

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

  • #71
    Originally posted by coder View Post
    ... But, when have we ever collectively decided the following?
    "No, that technology is perfect. Don't improve it further."
    ...
    Fire, wheel, blade, hammer, ...

    Those are ancient and are still going strong.

    You better be ready to add C to this list.

    Comment


    • #72
      I thought I'd give it a rest but this is just such a bunch of nonsense you just wrote...

      Originally posted by sdack View Post
      This just shows that you do not know why C is successful. C is successful because most people are not afraid of making mistakes with it. They are not as afraid as you are, but they are keen and happy to make mistakes because they want to learn. This is why C is still going strong. Rust is merely overbearing, creates a fear of mistakes, and makes for a terrible motivator. All while one can still make many mistakes with Rust from which it provides no protection, and while it has many C libraries to help people out who do want to avoid repeating old mistakes and to build their code on. Rust's safety feature is about as significant as a feature as the commenting style of any language is.
      C is not successful because of programmers who want to live on the edge or whatever. C has been successful because:
      - It was reasonably high level for the 70s
      - Allowed sufficient low level code to interact with the machine directly
      - Was designed to be portable to any architecture that was not obscenely bizzare
      - Has a well-defined ABI

      This made C the perfect language to write OSes, system tools, base libraries etc. What was good 50 years ago is not necessarily good by today's standards. Attempts to move away from this legacy stuff - like this Coreutils reimplementation - are mostly a good idea.

      Comment


      • #73
        Originally posted by MadCatX View Post
        C is not successful because of programmers who want to live on the edge or whatever. ...
        Well, I did not say it like that, but you do make a good comparison. It does provide simplicity, is close to bare metal, and gives much freedom. One could certainly describe it as "living on the edge". This edge may only be too much risk for you to be your choice.

        Comment


        • #74
          Originally posted by Quackdoc View Post

          re-write in rust, as much of a meme, IMO is a great thing, because rust is just simply IMO far easier to work with and get similar or better preformance than other languages.
          You smoke something good, "easier to work with" vs nim ?

          Comment


          • #75
            Originally posted by sdack View Post
            You are making excuses, being lazy so you can believe in a language that was sold to you as safe and that its safety feature would somehow transfer onto you and make you into a skilled programmer. Only it does not do this. You can still make many mistakes with it and these can lurk in the code for decades just the same. Your argumentation hinges on one particular feature, which is a drop in the ocean compared to all the bugs one can create, all while it is a restriction and can be as obstructive as it may seem helpful to you. You are still holding onto the belief it would make you a better programmer and reduce the number of mistakes you could make. It does not do this. Not learning why some code can lead to memory leaks, is insecure, or create a race condition, will eventually cause you to make this mistake in some other form. It will then not have the form you expect it to be but lurk as a bug in the larger structure of your code just the same. It does not matter if this is Rust, Java, Python, or some other language. You are better off going straight for a higher-level language than for C or Rust. You will still be making mistakes, but you will be doing these on a much higher level. There is however no way any language will make you into a better programmer or spare you the experience of just some of the common mistakes.
            Would you stop with this hypothesizing about how one can make a mistake no matter what? This is absolutely not about language making someone a better programmer or some other kind of nonsense. The point is that Rust actually prevents the kind of mistakes that are very easy to make, potentially very hard to spot or debug and have been responsible for countless major security issues. That is why Rust exists and why it has been gaining popularity in areas where reliability and security matter. Anything else is out of the scope of what Rust is supposed to do.

            Comment


            • #76
              Originally posted by sdack View Post
              Fire, wheel, blade, hammer, ...

              Those are ancient and are still going strong.

              You better be ready to add C to this list.
              You jest, I'm sure. As anyone who's followed a child's line of questioning knows, there are sometimes insights to be gained by examining ridiculous questions and assertions.

              Fire is not a technology, but rather a phenomenon. The internal combustion engine is a technology which harnesses fire to produce torque. I could go on, but I think you see my point.

              The conceptual computing analogs would be things like: binary arithmetic and RAM. I'm tempted to include computation in that list, but I'd probably classify the Turing model of computation as more analogous to the concept of the internal combustion engine.

              If we look at the trends, they don't bode well for the future of C. As a programming language, it's too low-level for much work happening today. Limited built-in datatypes and abstraction mechanisms are a major limitation in its expressiveness. Too often, C programmers achieve abstraction by adopting practices that don't play nicely with their tools. And when the purpose of a programming language is viewed as expressing the intent of a programmer in a machine-readable format, that suggests a weakness in C's position.

              The other noteworthy trend that's relevant is the increasing use of intermediate languages. And for this, almost nobody is using C. Various bytecodes, SPIR, Web Assembly... they're all lower-level. So, it seems the expressiveness and abstractions C does provide are either overkill for this purpose, or actually get in the way.

              Still, C is nice for what it is. I don't think it should be banned or "cancelled", but I also think we shouldn't be afraid to look beyond it. By comparison, Rust is still very new. I don't know if it'll turn out to have longevity similar to that of C and C++. I can even imagine a day when C is no longer the language of choice for microcontroller programming. I'm not saying it'll be Rust, but I think we can build a better tool for that job than present-day C.

              We should try to be clear-eyed about the benefits/drawbacks of different languages & technologies. Yet, while dogma is perhaps poisonous to technological advancement, we should remain pragmatic and be mindful of technology ecosystems and developer skillsets.

              Comment


              • #77
                Originally posted by MadCatX View Post
                Would you stop with this hypothesizing about how one can make a mistake no matter what?
                That you want to think of it as hypothetical is your fault. A lot of higher-level languages prevent you from making mistakes one can only do in C. Rust just is not doing much in comparison that warrants its use. Nor are there such classes of mistakes as "easy" or "very easy". It remains a matter of skill and experience. No language will make you into a better programmer when the reason for your mistake is a lack of knowledge, ignorance, laziness, or stupidity. Forcing people to program in a specific way has about as good a chance in making them even lazier as in making them more diligent. I am sure you know what I mean, don't you?

                Comment


                • #78
                  Originally posted by coder View Post
                  You jest, I'm sure.
                  Not really. When an increase in complexity brings fewer gains then the logical conclusion is to go with simplicity. As such have inventions like the wheel, the blade and the hammer remained for a long time and are still widely used today. There are hammers on the market that promise you all kinds of safety features, but people will continue to choose simplicity even when it means they will hit their own thumb. People do not care as much about their thumbs as some makers want you to believe, but they care for a lot of other things, too, like simplicity, and they are not as easily scared as the fearmongers would like them to be. Rust in this context is like a hammer with a head painted red just so you know where the heavy end is.
                  Last edited by sdack; 29 January 2022, 05:33 PM.

                  Comment


                  • #79
                    People rushing to defend the pile-of-shit language known as C will never cease to amaze to me.

                    Unless you manually enable unsafe mode, Rust doesn't permit direct memory access and that's that. Get over it.

                    The sooner C utilities are replaced with Rust utilities, the better off we'll all be. Hell, I just got done having to drop everything and update my Debian machines because you can corrupt PolicyKit to get root access.

                    What a stupid, pathetic excuse for a systems language.

                    Comment


                    • #80
                      the fact that it use an MIT license instead of GPL makes it automatically a regression - any performance gains etc don't matter

                      Comment

                      Working...
                      X