Why are you holding out on Rust?

Rust was stabilized in version 1, released 8 years ago. For those who use the language, what are your thoughts on its future? For those who are hesitant to adopt it, or do not see merit in it, why so?

I think Rust will likely never truly replace C, in the areas where C retains relevance. As it stands, the C ABI is a sort of common language that compilers for other imperative languages necessarily must speak to communicate with each other.

It is impossible for Rust to fulfill this role. The language maintainers have explicitly stated their opposition to stabilizing the ABI. Whether or not this is a good thing is up for debate, as part of this thread. One could argue that stabilizing the ABI, nevermind how difficult it would be to do so, could very well cause the stagnation of the language. But as I see it, nothing prevents maintaining a stable ABI, something like a #[repr(v1)], alongside a version unconcerned with stability.

There's also the matter of there only being a single viable implementation of the language, with no normative reference or standard. I think forming an ISO standard or such around the language would actually, really, cause stagnation. For an example of how well committee designs turn out, refer to C++. There's also the matter of ABI compatibility concerns preventing both the C and C++ committees from removing any features. In both languages, features are only ever added, seldom removed.

While Rust is relatively compact, I think it's still simply too large. Even if there was a normative standard for the language, it's just too much trouble to implement. Rust is limited to the platforms LLVM supports, which is a considerable number, but doesn't cover lots of fairly popular microcontroller architectures like the Xtensa. Though difficult, it's possible that a smaller subset of the language may defined, though I think we're a good way off from that.

Nothing Ever Happens Shirt $21.68

DMT Has Friends For Me Shirt $21.68

Nothing Ever Happens Shirt $21.68

  1. 3 weeks ago
    Anonymous

    I don't want to learn a new syntax

  2. 3 weeks ago
    Anonymous

    Simply because, people I don't like, like it.

    • 3 weeks ago
      Anonymous

      That's why you don't shower aswell

  3. 3 weeks ago
    Anonymous

    Mostly because of the compiler holding your fricking hand and doesn't allow you to do shit. And because of the abysmally stupid over engineered syntax, I would never touch this thing.

    Also, I find it very amusing bashing rust developers and pointing out they're stupid, compared to seasoned C and C++ devs 🙂

    • 3 weeks ago
      Anonymous

      Well, you seem stupid now because you can do anything you want by simply using unsafe blocks.

      • 3 weeks ago
        Anonymous

        You have to be at least 18 to post in here.
        go back

        • 3 weeks ago
          Anonymous

          Wow, you show your intelligence so well.

  4. 3 weeks ago
    Anonymous

    >It is impossible for Rust to fulfill this role. The language maintainers have explicitly stated their opposition to stabilizing the ABI. Whether or not this is a good thing is up for debate, as part of this thread. One could argue that stabilizing the ABI, nevermind how difficult it would be to do so, could very well cause the stagnation of the language. But as I see it, nothing prevents maintaining a stable ABI, something like a #[repr(v1)], alongside a version unconcerned with stability.
    It does. It isn't really possible with polymorphic types.

    How the Rust compiler must work is that if a library defines some kind of type that exports a type like <code>Result<T, E></code> the compiler has to generate a new struct for every T and E the programmer uses it with, it obviously can't do this for every type in advance and this also applies to every function, so any standard library function that works with Result<T, E> has to be monomorphized for every single type anyone ever uses it with. This makes it impossible tor the std calls that operate on Result to simply exist as binary code that can be linked to at any point.

    The only way to solve this is to put it all behind a pointer and thus lose zero-cost abstractions. Obviously no one wants to do this if this means everything has to be behind pointers over and over again, especially now that Rust has become dependent of defining newtypes of newtypes of newtypes of newtypes knowing that it will all have the same repr as the original type and one pays nothing for it at run time, which would all become pointers to pointers to pointers under this model.

  5. 3 weeks ago
    Anonymous

    Lifetimes are annoying as frick and I'm tired of pretending they're not. I rather like other aspects of the language, but once your project gets big enough, you end up wishing you just had a damn GC.

    Also, FRICK whatever idiot decided to not only adopt webshit-style async, but refuse to provide a standard facility for it. The ecosystem is a damn mess at this point.

    • 3 weeks ago
      Anonymous

      This except I like lifetimes.
      Async was a mistake and they should've taken a chill pill of 10 years to design a better approach.

    • 3 weeks ago
      Anonymous

      >you end up wishing you just had a damn GC.
      You now understand why language like Perl, Python, C#, JS are (or were) popular - they are geared towards getting things done, not doing this perfectly.

      • 3 weeks ago
        Anonymous

        Aside from lifetime headaches, Rust is not a bad "getting things done" language at all. I started using it because of all the niceties it offers, not in spite of a lack of them. You start to miss shit like iterators, tagged unions, etc, in other imperative languages.
        Plus, the tooling is pretty good. Have you ever tried to ship a Python app without a container? It's a fricking circus.

        • 3 weeks ago
          Anonymous

          lifetimes are just markers or tags to ensure that the references, while being passed around freely or being passed implicitly withing structs, do not outlive the data it refers too

          Read a fricking book for Christs sake

  6. 3 weeks ago
    Anonymous

    1. I don't use it, but have always been interested and briefly experimented with it some years back. I always thought of it as a C++ replacement though, whereas Zig/Odin/Hare seem more suited for C's niche.
    2. I agree about committees and references inevitably ossifying the language. I think Rust is in the right place. It's getting real-world use, trying things out, learning lessons, and evolving without also constantly breaking the ecosystem with every update. I don't think standards and the like should enter the scene until it's clear that it has found a stable position in the broader language environment and it can be maintained/focused on that domain. If people grow to find the Rust standard too restrictive and backwards-compatibility focused, that's fine, because people aren't going to stop inventing/tweaking other languages no matter what Rust does.
    3. I have no opinion about the size of Rust, since I haven't used it enough to have a feel for it, and it's undoubtedly changed a lot in the past years.

    • 3 weeks ago
      Anonymous

      >Hare
      Buy an ad Drew.

  7. 3 weeks ago
    Anonymous

    1. i am heterosexual
    2. i prioritize pushing software over execution speed, safety, etc etc etc
    if something i make suddenly has a ton of usage and i see gains from compiled, memory-safe software, i'm not opposed to switching from TS or whatever to rust for ez gains

    until then......

  8. 3 weeks ago
    Anonymous

    There is no such thing as a C ABI.

  9. 3 weeks ago
    Anonymous

    > For those who are hesitant to adopt it, or do not see merit in it, why so?

    Because it's unreadable. There's so much syntactic noise that it needs a lot of cognitive load to be able to read let alone write. Implicit returns are also one of the most disgusting things I've encountered

    Literally all they had to do was make it similar to C and they would be getting so many more developers jumping ship to it, since they'd be able to more or less pick it up immediately instead of needing a very sharp learning curve. It's like they tried to alienate as many people as possible

    > There's also the matter of ABI compatibility concerns preventing both the C and C++ committees from removing any features. In both languages, features are only ever added, seldom removed.

    C++ Black folk don't care about ABI compatibility, they can't even standardize name mangling within versions of the same compiler. I really hate having to compile obscure codebases with dependencies on libraries that are 10 years old and can't be updated without editing the code for an hour, as opposed to just giving me a run-anywhere executable because of said ABI incompatibilties

    • 3 weeks ago
      Anonymous

      lol, lmao even

      read a fricking book lmao. look the frick up what Ocaml or Scala are and the advanced concepts they are based upon.

      there are 50+ year of PL research behind these languages (and Rust) with just pointers and for loop in C.

      • 3 weeks ago
        Anonymous

        >Ocaml
        I'd rather retire from being a software dev and go shovel horse shit all day
        Functional programming has to be the most effeminate invention by data scientist morons who don't know what a computer is other than a magic box that puts out pretty colors on a screen

        Legitimately how can you expect to code in something that doesn't take into account how processors are inherently imperative

        "Yes I know that I/O, a basic requirement for 99% of applications, is impossible to truly represent in a functional language, so let's poke holes in the language to enable it"

        • 3 weeks ago
          Anonymous

          functional has some ok ideas like immutable data by default, but yeah I agree it's annoying to have to learn 100 methods when I could just a fricking loop in like 5 minutes that does the same shit and is far more clear about what's actually happening

        • 3 weeks ago
          Anonymous

          1. you should really consider that horse shit career path

          2. you are fricking degen and have literally no idea what you are talking about.

          FP brings a well-established mathematical formalism to programming by restricting all the possible idiocy to pure expression and composition of those.

          It is not a coincidence that every computable algorithm could be expressed with just 3 kinds of expression (sequencing by nesting of function applications, conditionals, including pattern matching, and recursion for looping) and that the original lambda calculus had just 3 kinds of terms - abstraction, application and bindings. These are, indeed, enough for everything. The whole of Haskell compiles to just seven data-constructors.

          The main point, which every math-literate gays know, is that on has to use the most higher-level and the most abstract notions (like Sets, functions and type-classes, which are just subset of sets of type-signatures) and reducing everything to these fundamentals is THE way to program.

          Also, the whole compilers has been written for Haskell and OCaml using only small well-crafted math-based standard libraries and if this is enough, it will be more that enough for your stupid webshit or whatever degeneracy you are amusing yourself with.

          Last but not least, all the finance industry uses FP because they know what they do.

          • 3 weeks ago
            Anonymous

            The Haskell compiler is written in Haskell, and total executable size is ~500MB.
            The OCaml compiler is written in OCaml and is ~500MB as well. Noticing a pattern?

            Hell even Java, the biggest bloatiest language of all, only needs 300MB for the SDK and runtime.

            C# compiler, written in C#, only takes 20MB. We can go even further than that; if you enable AOT you can get C# executables in the range of a few KB with no runtime required, as opposed to the OCaml/Haskell minimum of 4MB per executable. Rust is pretty bad with this as well

            I don't give a frick if a language is mathematically perfect or whatever. If it's wildly inefficient compared and dragging down the rest of the ecosystem with it, I want it nowhere near me

            > and reducing everything to these fundamentals is THE way to program.
            you're right. How silly of me! I forgot that my cpu has only has 10 instructions, entirely to do with sets, functions and monads

          • 3 weeks ago
            Anonymous

            That is because it links the runtime and stdlib.

            The key point, however, which degens like you are completely ignorant of, is that what the main function of any Haskell program technically produces is a type-safe *declarative* state-machine (literally) which is as pure as math and therefore memory safe, thread-safe, safe-everything (also timeless and as pure as logic, which is what it is really).

            To interpret and actually run that state machine is costly, but the benefits outweigh everything else.

            And, of course, if you can express your domain in terms in a pure-functional language, you got an executable mathematical model of it for free and technically, again, everything is a pure as pure logic or pure mathematics.

            So frick it, lets link that evaluator and the runtime into the executable.

  10. 3 weeks ago
    Anonymous

    Talking about Rust on a degen's basket weaving forum is counter-productive -- they will just continue to shit on everything they don't understand.

    Restrictions, morons, is the same thing which prevents the Russel paradox and makes Simply Typed Lambda Calculus a better formalism that the original one, where you literally could apply anything to anything.

    Rust is by far the most advanced imperative language and it took everything good from the decades of a proper PL research (read -- Haskell) like typeclasses (traits) and all the evolved types based on proper mathematical notions of having certain operations and laws.

    In short, you have to actually fricking study the subject before trying to shit on Rust.

    /thread

    https://lngnmn2.github.io/articles/junk-food/

  11. 3 weeks ago
    Anonymous

    I make video games.

  12. 3 weeks ago
    The Falcon

    Python fans enjoy their language without becoming rabid proselytizers who create dozens of pro-Python threads every day.

    In fact, the same can be said of all modern programming languages, with a single exception.

    • 3 weeks ago
      Anonymous

      Python isn't threatening any entrenched languages, though. There isn't exactly a bustling community of Perl and Ruby enthusiasts on IQfy to get riled up about it, nor to provoke by creating pro-Python threads.

      • 3 weeks ago
        The Falcon

        >isn't threatening any entrenched languages, though.
        I agree with you, and with the implication.

    • 3 weeks ago
      Anonymous

      Python isn't threatening any entrenched languages, though. There isn't exactly a bustling community of Perl and Ruby enthusiasts on IQfy to get riled up about it, nor to provoke by creating pro-Python threads.

      >Python isn't threatening any entrenched languages, though. There isn't exactly a bustling community of Perl and Ruby enthusiasts
      At one time, there was, and they were all way, way more annoying, right up until Perl and Ruby killed themselves and Python finally declared itself king

      • 3 weeks ago
        The Falcon

        >they were all way, way more annoying
        Impossible.

        • 3 weeks ago
          Anonymous

          More annoying than they are now, not more annoying than Rust, obviously nobody would say that

  13. 3 weeks ago
    Anonymous

    because I can use C# and get 90% of the performance, 10% of the headaches, and 100000% of the ecosystem

    • 3 weeks ago
      Anonymous

      this. c#, c++, go, and kotlin are all better choices. i still use c and tcl for everything because it works good enough.

      • 3 weeks ago
        Anonymous

        > kotlin

        lol, Ivan, lmao even

        • 3 weeks ago
          Anonymous

          there's nothing wrong with kotlin if you're writing for android. if you're just trying to get something done it's the fastest and easiest way to do it. mobile dev sucks and i would rather be done with it asap and kotlin makes that possible.

  14. 3 weeks ago
    Anonymous

    >1. I'm not autistic
    >2. I'm not transgender
    >3. C++ is better

  15. 3 weeks ago
    Anonymous

    I'd support rust if they promised to kill UNIX

Your email address will not be published. Required fields are marked *