Announcement

Collapse
No announcement yet.

Rust-Written Redox OS 0.7 Released With New Bootloader, RedoxFS Goes CoW

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

  • #31
    Originally posted by Vermilion View Post
    Google should probably invest in this instead of Zircon and its C++ codebase.
    I believe Zircon is targeting hardware that Rust doesn't support or, if it does, it's tier 3 or some unofficial setup

    Comment


    • #32
      Originally posted by jacob View Post

      It's a typical knee-jerk reaction. It was the same with Fortran before C, with Java after C and today it's Rust, but also systemd vs *nix admins... Old-timers always believe that they have skills and experience that should be considered valuable, and they are scared of any new technology that simply *solves* the problem once and for all. Many airplane pilots were "knowledgeably" dismissive of fly-by-wire technology when Airbus introduced it on commercial airliners (some still are!). In the 19th century, more than one city (particularly in Germany) was petitioned by gaslight manufacturers and operators against the "fad" that was electric light.
      The knee-jerk reaction isn't always wrong. I mean, where's Pascal today? Did Lisp&friends take over the world?
      But because it's not always wrong, doesn't mean it's always right.

      Comment


      • #33
        Originally posted by jacob View Post
        I believe Zircon is targeting hardware that Rust doesn't support or, if it does, it's tier 3 or some unofficial setup
        Goodness reading on Twitter is so terrible...
        I've extract the tweets below, all from @cpuGoogle on May 25, 2021:
        Why didn't we write the (Zircon) kernel in Rust? There were a few factors:

        I was given the task to learn Rust and write a report on the fitness for Zircon. The internal doc colloquially known as "2016 cpu's Rust trip report" remained very popular for years in that did not made me very popular with with the (then nascent) internal Rust community.

        This was Feb 2016 so even a year later the doc was already outdated in many places, and that was a telling symptom: even though Rust 1.0 was released 6 months earlier, it felt very much 'in progress'.

        More than that. Languages like C++ grow in spurts, Rust back then was in constant acceleration. I was using a couple of 'bare metal' Rust projects to prototype and play with it and both became unusable mere weeks later.

        The second factor is critical body mass. Not only we needed to get proficient on a fast moving language but we needed to have trained reviewers. When the reviewer knows less about good patterns/practices than the person writing the code, badness ensues.

        Rust might have solved some safety issues but I am pretty sure does not solve (code) monkey at the wheel problem.

        The third factor is how little of the ergonomics remained without the standard library. A lot would have to be re-written. The thing with C is to quote Bane, it was born in bare metal, Rust merely adopted it.
        yes, yes, things are much better now. calm down.

        Then there are the smaller companion horrors, for example, 'the' key data-structure of a kernel is the linked list, for reasons too messy to explain here, you don't really want to change that.

        In Rust the linked list is the most convoluted thing and if you listen carefully the language is whispering "don't use that, it makes me sad".

        In conclusion. Too early, lack of experts, rapid evolution pains.
        It was stacking risk on top of an already risky project.

        -- https://www.reddit.com/r/rust/commen...urity/h1m5zx7/
        TL;DR: Zircon was started in 2016. In 2016, Rust was still too young.

        Comment


        • #34
          Originally posted by bug77 View Post

          The knee-jerk reaction isn't always wrong. I mean, where's Pascal today? Did Lisp&friends take over the world?
          But because it's not always wrong, doesn't mean it's always right.
          My brain just free-associated to a similar argument against pseudoscientist logic:

          But the fact that some geniuses were laughed at does not imply that all who are laughed at are geniuses. They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown.

          -- Carl Sagan, Chapter 5, “Night Walkers and Mystery Mongers: Sense and Nonsense at the End of Science”

          Comment


          • #35
            Originally posted by bug77 View Post

            The knee-jerk reaction isn't always wrong. I mean, where's Pascal today? Did Lisp&friends take over the world?
            But because it's not always wrong, doesn't mean it's always right.
            When it's justified then it's not a knee-jerk reaction. The knee jerk reaction I was referring to is specifically the reaction of those who consider themselves (rightly or wrongly) to be "experts" on a given problem that a new technology simply makes irrelevant.

            As for Pascal, it was always meant to be a teaching language and it did reasonably well in that capacity in the 80s and 90s. I don't know if there has ever been a knee-jerk reaction against Lisp but the fact that it didn't take over the world was probably because it was a neat theoretical exercise but of little practical benefit.

            Comment


            • #36
              I think generally we moved from more low level programming languages to more high level programming languages over time, when computers got more powerful, because then machine time gets cheaper and developer time become more the bottleneck.

              So we moved from Assembler, to C then to C++ in many Operation systems, on other layers it gone even further to Python and stuff like that.

              So besides the security fetish, and that makes sense for servers mostly, so there I see potential for that in the long run, I think other Operation systems are more interesting like Lisp based Distributions like Guix which comes at least with a lisp based init system or whole Lisp Operation systems like Mezzano:

              An operating system written in Common Lisp. Contribute to froggey/Mezzano development by creating an account on GitHub.


              Because most people are not primary sys admins or even if they are they manage more desktops than servers I think the focus should be more on such systems. Because Lisp is more high level and easier to use you can get more hands and eyes with more impact per line than you have with C code, at least in theory. Somehow science and the industry boycotted Lisp even it's clearly superior to many other languages and choose horrible Programming languages that syntax does not even make semantic sense like with the usual fortran Style if/else clauses that every language have, where the syntax suggest that if and else would be 2 separate blocks while else is a sub block of the if/else construct. Of course it's not only that there is a ton more but I don't want to write a essay here but I can elaborate on that semantically representative correct would be:
              Code:
              if CAUSE:
                then:
                  foo
                else:
                  bar
              fi
              Or something alike, which not only makes you hate it when you know that the syntax fortran like languages use are incorrect and make no sense so it feels like you have to write nonstop 1+1 = 5, but it also makes code for refactoring tools like 100 times more complex and the availability for them goes therefor down dramatically. Something simple like paredit in lisp is basically impossible for other languages.

              Generally each 5 year old could easily learn the concept of s-expressions (a bit polemic) but OOP and all that millions of different syntax mixes used in all the other languages are much much more complex. The only reason people bring against lisp is that they don't like parens.

              Not to forget the repl and interactive way to change running systems in lisps that are way more interactive and productive, some of which Rust might share? Not sure. But lisp is another missed opportunity in the world like qwerty layout was horrible mistake in history than for some reason all people keep doubling down, even scientifically it's proven to be very bad, and the reason for the key position has nothing to do with ergonomy but only because of mechanical problems of mechanical typewriters that nobody uses anymore.

              Humans are just anti technical progress they do everything in their power to keep things bad or make them worse for stupid reasons like unwillingness to learn new things or making profits by making technology worse (the web).
              Last edited by blackiwid; 01 May 2022, 10:13 AM.

              Comment


              • #37
                Originally posted by blackiwid View Post
                I think generally we moved from more low level programming languages to more high level programming languages over time, when computers got more powerful, because then machine time gets cheaper and developer time become more the bottleneck.
                ...
                We mostly move to higher level because, with the additional computing power, compilers can do more, without needing a day to spew out a "hello world" executable.

                Comment


                • #38
                  Originally posted by bug77 View Post
                  We mostly move to higher level because, with the additional computing power, compilers can do more, without needing a day to spew out a "hello world" executable.
                  Well if there would be no advantage / difference between higher level languages and lower level then there would not be a reason to switch even if compile time is identical / nil.

                  Comment


                  • #39
                    Originally posted by blackiwid View Post
                    Because Lisp is more high level and easier to use you can get more hands and eyes with more impact per line than you have with C code, at least in theory. Somehow science and the industry boycotted Lisp even it's clearly superior to many other languages and choose horrible Programming languages that syntax does not even make semantic sense like with the usual fortran Style if/else clauses that every language have, where the syntax suggest that if and else would be 2 separate blocks while else is a sub block of the if/else construct.
                    Lisp and all other pure functional programming languages aren't used because they're too busy living up to their principle of programming without side-effects

                    But really I'll say it: Pure functional programming languages are trash which is why none of them have been adopted in more than a handful of situations they were forced upon, and the only "functional" programming languages that have been adopted have reduced the definition of "Functional programming" down to something almost every modern language conforms to, minus const being opt-out rather than opt-in. Since modern "functional programming": is just something something lambdas, something something map/filter/reduce, something something opt-out const. Which means const-correct C++ is technically a modern "functional programming" language, which is silly.

                    Comment


                    • #40
                      Originally posted by Luke_Wolf View Post
                      Lisp and all other pure functional programming languages aren't used because they're too busy living up to their principle of programming without side-effects

                      But really I'll say it: Pure functional programming languages are trash which is why none of them have been adopted in more than a handful of situations they were forced upon
                      Except lisp is not "pure functional" it can of course have side effects it can be procedural, reflectiv and meta according to wikipedia and there is some Object systems but probably that counts still as functional I guess.

                      So now probably because fortran got released 1 year earlier and in the beginning lisp was a bit slow everybody uses now fortran based languages and syntax.

                      Like with QWERTY that because it was earlier won as we know that VHS won against I think a objectively out of question better technology that came out later. Except VHS got replaced after a few decades while fortran-style and qwerty got never replaced.

                      Comment

                      Working...
                      X