Rust!

Rust!

Unattended Children Pitbull Club Shirt $21.68

The Kind of Tired That Sleep Won’t Fix Shirt $21.68

Unattended Children Pitbull Club Shirt $21.68

  1. 1 month ago
    Anonymous

    Cute and wholesome! uwu

  2. 1 month ago
    Anonymous

    Autogynephilia!

    • 1 month ago
      Anonymous

      Qrd?

  3. 1 month ago
    Anonymous

    >choose to make an inefficient toy language to compliment the morons that call themselves "programmers" instead of providing better and more strict education.
    lol, lmao.

    • 1 month ago
      Anonymous

      >inefficient
      Is it?

      • 1 month ago
        Anonymous

        By C's standards, it is. We do NOT need to reinvent the wheel.

        • 1 month ago
          Anonymous

          Is it though?

        • 1 month ago
          Anonymous

          Explain how it is inefficient.

          • 1 month ago
            Anonymous

            not gonna spoonfeed you. Do the research.

            Is it though?

            yes.

          • 1 month ago
            Anonymous

            So you don't actually know what you're talking about. Got it.

    • 1 month ago
      Anonymous

      Imagine being this confidently moronic. You don't know shit.

      • 1 month ago
        Anonymous

        So you don't actually know what you're talking about. Got it.

        Alright. Safety is just a euphemism.
        In C, you wield the formidable arsenal of pointers with unparalleled liberty. Here, you navigate memory akin to a daring buccaneer, seizing and redistributing with audacious impunity. Contrastingly, Rust constrains you within the shackles of ownership and borrowing, each maneuver meticulously orchestrated, every reference vigilantly monitored like a convoy charting perilous seas. While these safeguards mitigate hazards like null dereferences and dangling pointers, they exact a toll—a performance levy as the borrow checker scrutinizes every move, obstructing code fluidity akin to an unwieldy kraken ensnaring a vessel.

        C, with its ethos of minimalism, empowers you to sculpt code with the finesse of a master artisan, honing away superfluous elements until only the essence remains. When the mandate demands every ounce of hardware performance be extracted, C furnishes the tools to unleash the full might of your machine. Yet Rust, in its pursuit of safety and coherence, raises barriers of abstraction akin to stout castle walls. While these constructs offer sanctuary from the tumult of manual memory management, they cast shadows of overhead upon performance. Each stratum of abstraction adds another toll booth on the path to efficiency, impeding program progression akin to a caravan halted by toll collectors.

        • 1 month ago
          Anonymous

          >200 words wall of text
          >0 technical arguments
          Ciniles lmao.

          • 1 month ago
            Anonymous

            every time, same with the avataring

        • 1 month ago
          Anonymous

          hello ChatGPT can you add fancy English C2 words to my text, i want to be the next shakespeare

  4. 1 month ago
    Anonymous

    Dogshit language with dogshit tooling and ecosystem:
    https://github.com/rust-lang/rust-analyzer/issues/16907
    https://github.com/rust-lang/rust-analyzer/issues/16908
    https://github.com/rust-lang/rust-analyzer/issues/16531

    I've used Rust for like a week and I've already encountered these issues. Meanwhile gopls has been like the holy graild of LSPs for me. Really tells a lot about software written in Rust in general. The only people who like Rust are those that are not using it for anything serious.

    • 1 month ago
      Anonymous

      >Dogshit language
      >I've used Rust for like a week
      El classico

      • 1 month ago
        Anonymous

        >no, you have to give yourself to the sunk cost fallacy

        Go is a very simple unambitious language that's deliberately very easy to write a compiler for. So it's also very easy to write a language server for. (To accomplish this it sacrifices flexibility and runtime performance and safety.)
        Rust is hard to implement and hard to write a language server for, just like C++. clangd is quite the memory hog as well.
        >The only people who like Rust are those that are not using it for anything serious.
        Are you using it for anything serious?

        cloning RPC data science service I already did for work

        My pipeline was
        >C++ programmer for 10 years
        >Learn Rust
        >Hate it
        >Go back to C++
        >Eventually try rust again
        >Dislike it, but end up using some new patterns in C++
        >Few months go by, decide to try again
        >It clicks. Everything is really simple and intuitive. Certain kinds of optimizations that are really hard to do safely with a language like C++ are a breeze, if not automatic
        >Try to go back to C++ but cannot deal with the lack of a borrow checker anymore

        [...]
        Never felt the need to use an LSP for rust.

        [...]
        Ownership and borrowing aren't shackles. It may look like they are, but they're actually extremely helpful at expediting development. There is no performance loss, development time wise or performance wise. You have been visited by the classic skill issue. You know A and now you're upset that B isn't like A. That's cool, just don't pretend to know B when you don't, it just makes you sound like an idiot.

        Then again you're unironically arguing Rust is more limiting than C, so I guess you're pretty far gone at this point.

        >Never felt the need to use an LSP for rust.
        Sorry I'm way too moronic to work without a LSP.

        • 1 month ago
          Anonymous

          >Sorry I'm way too moronic to work without a LSP.
          Frankly I have never felt the need for LSPs in many languages, including C and C++. I think the only language that I absolutely must use an LSP with is java. Most of this is because I'm too lazy to set them up.
          Learn to use the documentation. You can do things like search for TypeA -> TypeB and stuff. It's really good.

          >no, you have to give yourself to the sunk cost fallacy
          Rust is a language that takes time to get used to. This would be like someone learning lisp for a week and concluding it was worst than C based languages because that's all they knew. It's fine to not like it and not pursue it, but I don't think it's out there to point out that you may be missing a lot compared to someone who has spent longer thinking about how to solve problems in that particular language.

          But hey, this applies to everything. At some point we must decide whether it is worth investing time into something or not. Seems like you decided it isn't, based on an LSP. It is what it is.

    • 1 month ago
      Anonymous

      Go is a very simple unambitious language that's deliberately very easy to write a compiler for. So it's also very easy to write a language server for. (To accomplish this it sacrifices flexibility and runtime performance and safety.)
      Rust is hard to implement and hard to write a language server for, just like C++. clangd is quite the memory hog as well.
      >The only people who like Rust are those that are not using it for anything serious.
      Are you using it for anything serious?

    • 1 month ago
      Anonymous

      Joined the thread late and it seems the issue got fixed and merged 1hr ago, pretty cool

      • 1 month ago
        Anonymous

        >rust devs read 4keks
        welp, that explains the constant shilling

  5. 1 month ago
    Anonymous

    I've done the speedrun from "a modern, fast and safe language" to "a steaming pile of shit" in the space of 2-3 days. No wonder people who use it kill themselves.

    • 1 month ago
      Anonymous

      My pipeline was
      >C++ programmer for 10 years
      >Learn Rust
      >Hate it
      >Go back to C++
      >Eventually try rust again
      >Dislike it, but end up using some new patterns in C++
      >Few months go by, decide to try again
      >It clicks. Everything is really simple and intuitive. Certain kinds of optimizations that are really hard to do safely with a language like C++ are a breeze, if not automatic
      >Try to go back to C++ but cannot deal with the lack of a borrow checker anymore

      Dogshit language with dogshit tooling and ecosystem:
      https://github.com/rust-lang/rust-analyzer/issues/16907
      https://github.com/rust-lang/rust-analyzer/issues/16908
      https://github.com/rust-lang/rust-analyzer/issues/16531

      I've used Rust for like a week and I've already encountered these issues. Meanwhile gopls has been like the holy graild of LSPs for me. Really tells a lot about software written in Rust in general. The only people who like Rust are those that are not using it for anything serious.

      Never felt the need to use an LSP for rust.

      [...]
      Alright. Safety is just a euphemism.
      In C, you wield the formidable arsenal of pointers with unparalleled liberty. Here, you navigate memory akin to a daring buccaneer, seizing and redistributing with audacious impunity. Contrastingly, Rust constrains you within the shackles of ownership and borrowing, each maneuver meticulously orchestrated, every reference vigilantly monitored like a convoy charting perilous seas. While these safeguards mitigate hazards like null dereferences and dangling pointers, they exact a toll—a performance levy as the borrow checker scrutinizes every move, obstructing code fluidity akin to an unwieldy kraken ensnaring a vessel.

      C, with its ethos of minimalism, empowers you to sculpt code with the finesse of a master artisan, honing away superfluous elements until only the essence remains. When the mandate demands every ounce of hardware performance be extracted, C furnishes the tools to unleash the full might of your machine. Yet Rust, in its pursuit of safety and coherence, raises barriers of abstraction akin to stout castle walls. While these constructs offer sanctuary from the tumult of manual memory management, they cast shadows of overhead upon performance. Each stratum of abstraction adds another toll booth on the path to efficiency, impeding program progression akin to a caravan halted by toll collectors.

      Ownership and borrowing aren't shackles. It may look like they are, but they're actually extremely helpful at expediting development. There is no performance loss, development time wise or performance wise. You have been visited by the classic skill issue. You know A and now you're upset that B isn't like A. That's cool, just don't pretend to know B when you don't, it just makes you sound like an idiot.

      Then again you're unironically arguing Rust is more limiting than C, so I guess you're pretty far gone at this point.

      • 1 month ago
        Anonymous

        >"You have been visited by the classic skill issue"
        C doesn't win because i'm having trouble understanding what Rust does. Rust will fail because it's inevitable that it does. It's Hegelian dialectics, not personal animosity.

        • 1 month ago
          Anonymous

          >Rust will fail because... BECAUSE IT JUST WILL, ALRIGHT?

        • 1 month ago
          Anonymous

          >C doesn't win because i'm having trouble understanding what Rust does.
          Then you should learn Rust so you know what it does.

          >Rust will fail because it's inevitable that it does.
          Rust is better. It would only "fail" because C shills sabotage it. 24/7 anti-Rust shilling is only making more people want to use Rust. Rust is bringing to light more flaws in C/C++ and encouraging people to make even more alternatives to C/C++ because people find out that it's not that hard to make new languages.

          >It's Hegelian dialectics, not personal animosity.
          Explain. I don't know what that means.

          • 1 month ago
            Anonymous

            >Rust is better. It would only "fail" because C shills sabotage it.
            no, it will fail bc its shit and no one wants to use it (picrel)
            also C shilling is actually a relatively new thing you disgusting liar

            i know bc i started it. unintentionally. by btfoing your rust shillthreads attacking C.

          • 1 month ago
            Anonymous

            >also C shilling is actually a relatively new thing you disgusting liar
            "Relatively new" if you mean the 1980s instead of 1950s, perhaps. C shilling has been going on continuously for decades. They were saying back in 2011 that we would not have any OS or human-readable code or programs without Dennis Ritchie.

          • 1 month ago
            Anonymous

            >picrel
            extremely misleading.

          • 1 month ago
            Anonymous

            >extremely misleading.
            It's extremely misleading because it's false information, but it's something C shills created and posted.

          • 1 month ago
            Anonymous

            ugh, theres so much wrong in your post, including your picrel i dont even know where to begin
            lets start with the fact that C is not C++.
            cuz its not. so your the premise of your post goes to hell, in a handbasket, jerking off furiously

            errr... what were left with, then?
            that C took a good while to take off? that it had many concurrents? that it got accepted bc it scratches a specific itch? that your concept of shilling is inadequate to the time period were talking about?

            and wtfs with isaac newton ffs

            if thats what rust does to a mfer
            it should be banned from everywhere as a public health concern

          • 1 month ago
            Anonymous

            >lets start with the fact that C is not C++.
            I never said it was. Why do you C shills pretend people say things they didn't say?

            >that C took a good while to take off? that it had many concurrents? that it got accepted bc it scratches a specific itch? that your concept of shilling is inadequate to the time period were talking about?
            The problem with this pic is that it's not true. If you say Dennis Ritchie invented the OS, human-readable code, or programs, you are lying. C shills made pictures like this to help shill C to people who don't know any better.

            >if thats what rust does to a mfer
            That pic was made by a C shill. Rust wasn't even mentioned there.

          • 1 month ago
            Anonymous

            >shilled since the 50-60's
            thats exactly what you said
            C++ was shilled to replace C since its inception, toughever
            and C doesnt really appear on the market job-wise

            if youre gonna fail its not bc C is shilled.
            its because rust is (somehow) shittier than C++.

            >If you say Dennis Ritchie invented the OS
            this i didnt say. also C++. like i said you said

            >That pic was made by a C shill
            catastrophic reading comprehension failure. on your behalf to make things sufficiently clear.
            thats (among others) what i meant by "what rust does to a mfer"

          • 1 month ago
            Anonymous

            >bc
            You need to be over 18 to use this website.

            Also comparing job postings for C++, a language which has been used professionally for more than 2 decades and rust, a language which has only been gaining traction in the last 2 or so years and that has a reputation of being a difficult language to learn, is about as underage as you can get.

            [...]
            >Explain. I don't know what that means
            How do I put this basically enough? It's a philosophical theory, the kind you might encounter if you took time to read some books. The fundamental premise is to envision history as a sequence of "dialectical" conflicts. Each dialectic begins with a proposition, a thesis... which inherently contains, or creates, its opposite - an antithesis. Thesis and antithesis. The conflict is inevitable. But the resolution of the conflict yields something new - a synthesis - eliminating the flaws in each, leaving behind common elements and ideas.
            Thesis(Rust) and antithesis(C).

            Your analysis hinges on the incorrect assumption that rust was made as a kneejerk reaction to C. This is a projection by you, since your moronic posts ARE a kneejerk reaction to not knowing Rust. In other words
            >I don't think about you at all.

          • 1 month ago
            Anonymous

            >Rust will fail because... BECAUSE IT JUST WILL, ALRIGHT?

            >Explain. I don't know what that means
            How do I put this basically enough? It's a philosophical theory, the kind you might encounter if you took time to read some books. The fundamental premise is to envision history as a sequence of "dialectical" conflicts. Each dialectic begins with a proposition, a thesis... which inherently contains, or creates, its opposite - an antithesis. Thesis and antithesis. The conflict is inevitable. But the resolution of the conflict yields something new - a synthesis - eliminating the flaws in each, leaving behind common elements and ideas.
            Thesis(Rust) and antithesis(C).

          • 1 month ago
            Anonymous

            >Thesis and antithesis. The conflict is inevitable. But the resolution of the conflict yields something new - a synthesis - eliminating the flaws in each, leaving behind common elements and ideas.
            Rust is already the synthesis by taking features from OCaml/Haskell/Linear ML and making them palatable to C/C++ programmers. It's like when people said in the 90s that Java brought C++ programmers halfway to Lisp.

          • 1 month ago
            Anonymous

            [...]
            >Explain. I don't know what that means
            How do I put this basically enough? It's a philosophical theory, the kind you might encounter if you took time to read some books. The fundamental premise is to envision history as a sequence of "dialectical" conflicts. Each dialectic begins with a proposition, a thesis... which inherently contains, or creates, its opposite - an antithesis. Thesis and antithesis. The conflict is inevitable. But the resolution of the conflict yields something new - a synthesis - eliminating the flaws in each, leaving behind common elements and ideas.
            Thesis(Rust) and antithesis(C).

            I'm saying that Rust will inevitably lose the battle. It's not built to last. We're not saying C is better with no reason. We're just hastening the inevitable.

          • 1 month ago
            Anonymous

            I don't think Hegelians are known for their unerringly prescient predictions
            You gotta come up with some technical arguments for this one

          • 1 month ago
            Anonymous

            Rust is deemed by some as a corporate anomaly, crafted to relegate codemonkeys to tasks beyond their purview, thereby suppressing wages across the board. Moreover, it obstructs those who have no requirement for its subsystems. While chatter abounds regarding its convenience, scant mention is made of its tangible utility to the world. Survival notwithstanding, its divergence from the principles underpinning good programming languages remains evident.

          • 1 month ago
            Anonymous

            I can guarantee you that Rust has more thought put into it than C will ever have throughout its entire lifetime, let alone C++.

            >Getting filtered by a language which was, by his own admission, crafted to "relegate codemonkeys to tasks beyond their purview"
            Wew.

            Meds.

          • 1 month ago
            Anonymous

            >I can guarantee you that Rust has more thought put into it than C will ever have throughout its entire lifetime
            who cares.

            think smart.
            bc who cares if you think more, but all you conclusions are shit?

          • 1 month ago
            Anonymous

            You have yet to provide us with a single argument of why Rust is better ever since the thread started. Go ahead, i will entertain your lunacy.

          • 1 month ago
            Anonymous

            Why should I? You haven't provided any arguments for why C is better. I also didn't make this thread to argue with cnile baby ducks. Make a thread about C instead of posting on a thread about something you don't like.

            Also, I did casually provide one reason already:

            My pipeline was
            >C++ programmer for 10 years
            >Learn Rust
            >Hate it
            >Go back to C++
            >Eventually try rust again
            >Dislike it, but end up using some new patterns in C++
            >Few months go by, decide to try again
            >It clicks. Everything is really simple and intuitive. Certain kinds of optimizations that are really hard to do safely with a language like C++ are a breeze, if not automatic
            >Try to go back to C++ but cannot deal with the lack of a borrow checker anymore

            [...]
            Never felt the need to use an LSP for rust.

            [...]
            Ownership and borrowing aren't shackles. It may look like they are, but they're actually extremely helpful at expediting development. There is no performance loss, development time wise or performance wise. You have been visited by the classic skill issue. You know A and now you're upset that B isn't like A. That's cool, just don't pretend to know B when you don't, it just makes you sound like an idiot.

            Then again you're unironically arguing Rust is more limiting than C, so I guess you're pretty far gone at this point.

            >Certain kinds of optimizations that are really hard to do safely with a language like C++ are a breeze, if not automatic

            You are the one arguing that Rust has literally no features that are an improvement on what C offers, and you will die on this hill because you're way more concerned about reinforcing your biases and being superior to everyone else rather than actually having a discussion about anything. Make no mistake, you're acting like I'm the one treating the language I'm currently using as if its a sports team, but you are 100% projecting.
            Besides, we all know that your goto counter-arguments for everything I can throw at you will boil down to
            >1. just don't make mistakes
            >2. just write more code
            You won. I am defeated and in tears. So why not just simply close the thread? Report it while you're at it.

          • 1 month ago
            Anonymous

            kinds of optimizations that are really hard to do safely with a language like C++ are a breeze, if not automatic
            nta but thats kinda moot.

            a specialized solution with equal quality of code will always be faster than a generalized one.
            thats by virtue of less checks having to be made.

            rust lib writers benchmark against the libc
            but so do competent C devs, if you get what i mean

          • 1 month ago
            Anonymous

            >a specialized solution with equal quality of code will always be faster than a generalized one.
            You are so far off the mark you aren't even in the same stadium motherfricker. Just close the thread, you have literally nothing of value to contribute.

          • 1 month ago
            Anonymous

            >cant recognize engineering even when it drags its balls across his face
            sigh. what rust does to a mfer...

          • 1 month ago
            Anonymous

            Ok, I'll take the bait: there are no checks. Good quality Rust code will be generally faster than C code because the kinds of solutions you have to build in C to have a chance at maintaining the program will be inherently less efficient than rust solutions which can ensure correctness at compile time.

            Unless you think benchmark code is in any way representative of the conventional way people use the language, your argument is moronic. The whole purpose of the borrow checker and lifetimes is precisely to remove these checks from the runtime. That you don't know this and think that there is an actual runtime cost to the things I'm talking about betrays that you know jack shit about the thing you're trying to criticize.

            Not only that, but you can objectively do everything you can do in C in Rust, so it doesn't even matter. Riddle me this: Why would I use your shitlang when rust can do all yours can and more, with 0 downsides?

            But I'm looking forward to watch you argue that Rust is less efficient because Arc, while C doesn't even have any kind of static dispatch. This is the thing, to the Cnile baby duck, void* is enough, but when talking about performance it suddenly disappears from the conversation altogether. But let me guess, real C programmers write concrete structures for every type they decide to use for their ADTs, right? I am looking forward to having a great big chuckle at your bending over backwards to defend _Generic by the way.

            >rust lib writers benchmark against the libc
            What else would they benchmark against? It's the only other performant standard library aside from the rust one, and the most widely used. This is not the strong argument you think it is.

            Your argument is
            >C got here first, therefore C is better.
            Do better.

          • 1 month ago
            Anonymous

            >he kinds of solutions you have to build in C to have a chance at maintaining the program will be inherently less efficient than rust solutions which can ensure correctness at compile time.
            lol. functions? lmao

            >Unless you think benchmark code is in any way representative of the conventional way people use the language
            gregarity argument. and a moronic one at that
            i use C where its comfy. because its comfy. i dont care about the rest.
            if they suck and cant leverage C thats on them.

            >Not only that, but you can objectively do everything you can do in C in Rust
            yes, its just that it will be 10x more tedious.
            well, stuff i do would.
            one of the components of my project is a quasi scripting language
            and comfy pointers to functions are comfy

            >defend _Generic by the way.
            why? void* + various heretical dereferencings is perfect.
            in fact dereferencing packed pointers is even more efficient generics code-writing-wise
            ->inb4 muh ubee
            ub is still deterministic. git gud, scrub

            >What else would they benchmark against?
            >This is not the strong argument you think it is.
            you missed the point entirely.

            incompetents benchmark libs against libs
            competent people benchmark their tailor made solutions to the fastest libs to see if theyre as competent as they think they are.

            >C got here first, therefore C is better.
            if thats how you understand "less checks to be made" you need to check that head of yours. which you do. both of these propositions.

            sigh, what rust does to a mfer...

          • 1 month ago
            Anonymous

            >lol. functions? lmao
            This may be news to you, but sometimes we write things suboptimaly from a performance perspective so that they are easier to manage in the long run. An example of this is implementing polymorphic solutions in C using function pointers that have to be dereferenced because C has no static dispatch. Another example is checking for optional parameters in a function, instead of writing different functions for each possible parameter configuration, which is something we do in every language.

            I can guarantee you one thing: every decision made in rust is made with performance in mind, and I don't mean that in the meme "this scripting language is so LE FAST" way. Performance is more a core of Rust than it is a core of C.

            >rust lib writers benchmark against the libc
            >incompetents benchmark libs against libs
            >competent people benchmark their tailor made solutions to the fastest libs to see if theyre as competent as they think they are
            You are incoherent. If they're writing a standard lib, why wouldn't they benchmark against the most widely used standard lib?

            >one of the components of my project is a quasi scripting language
            >and comfy pointers to functions are comfy
            Function references in Rust are better by a wide margin. Rust also has closures, which C doesn't have.

            Again,
            You don't know the language. You feel very threatened as evident by your posts, so you flail around in an attempt to "deboonk" something you know nothing about because you feel bad that someone likes something you don't, and you see it is actually gaining some traction.
            It's ok to like and use C. Let it go.

            >if thats how you understand "less checks to be made"
            Show me the checks. Go.

          • 1 month ago
            Anonymous

            >This may be news to you, but sometimes we write things suboptimaly from a performance perspective so that they are easier to manage in the long run
            yeah i know.
            and how did it end up?
            spaghetti. it always ends up in spaghetti.
            thats bc no matter the method, a codemonkey will remain a codemonkey

            >Performance is more a core of Rust than it is a core of C.
            yeah. in C performance considerations are left to the programmer.
            rust is designed for people who cant into opti.
            heck, rust is deigned for people who cant into strings...

            >You are incoherent.
            no, it just flew past you. youre too focused on the small details.
            if youre competent, you will beat the generalized solution.
            if youre incompetent, you will use libs and benchmark them because a generalized solution will be faster than the code you can produce.

            >Function references in Rust are better by a wide margin.
            no. but i can admit theyre equivalent and the difference is subjective
            type Binop = fn(i32, i32) -> i32;
            let bo: Binop = add;
            x = bo(5,7);

            vs
            int x;
            int (*ptr_add)(int, int) = &add;
            x = ptr_add(5, 7);

            >You feel very threatened as evident by your posts
            lol. no i dont. not at all.
            i shitpost rust threads for relaxation purposes.
            the rest of IQfy's C community hates you tho. for bashing them over the head with your troonylang and pissing all over C threads.

            theres always several anti C threads up. rarely you see pro-C threads.
            so who feels threatened here, crab?
            if we were desperate about C, you would see C shillthreads everywhere... yet theyre nowhere to be found.
            projection much?

            >Show me the checks. Go.
            ezpz
            lets say you parse a json. but you know theres no arrays in your data so you dont need to consider parsing it recursively.
            less checks, less code, much faster program.

          • 1 month ago
            Anonymous

            >yeah. in C performance considerations are left to the programmer.
            >rust is designed for people who cant into opti.
            >heck, rust is deigned for people who cant into strings...
            Not really. Rust gives you a ton of flexibility to optimize, to make the code do exactly what you want, and that's why it's so complex. Making Rust code fast is a manual process where you have to know how everything works. The language gives you tools and even lets you create tools but doesn't do your work for you. Case in point:
            >no. but i can admit theyre equivalent and the difference is subjective
            >type Binop = fn(i32, i32) -> i32;
            >let bo: Binop = add;
            >x = bo(5,7);
            >
            >vs
            >int x;
            >int (*ptr_add)(int, int) = &add;
            >x = ptr_add(5, 7);
            This is only one kind of function reference, Rust has various other options. Consider:
            fn add_using(add: impl FnOnce(i32, i32) -> i32) {
            let x = add(5, 7);
            }
            Rust will monomorphize a separate version of this function for each callable type that you use with it. This means that in a lot of cases it's guaranteed to hardcode the function call instead of resolving it at runtime, giving it an opportunity to inline. (You can also pass it C-style function pointers, and then it will monomorphize a single instance that uses those.)
            C doesn't really give you that tool, you have to use generics or copy/paste. Which is a pain in the ass so people reach for it less often even in cases where it would perform better.
            Rust also has boxed functions as a third alternative. And it lets you distinguish between callables that are freely callable and ones that require exclusive access and ones that can only be called once.
            So they're not equivalent. They're a superset.

            its still deterministic even if you do
            what you mean is that you might not know what will be the result.
            its not the exactly the same.
            and theres UBs that are rock solid.
            like derefs on packed pointers.
            like binary ops on floats.

            Some UB is solid and documented as such, some UB is simply bad news that you really can't rely on.

          • 1 month ago
            Anonymous

            >Rust will monomorphize a separate version of this function for each callable type that you use with it. This means that in a lot of cases it's guaranteed to hardcode the function call instead of resolving it at runtime, giving it an opportunity to inline.
            yeah but thats basically generics.
            with the same problem as generics: if they cannot be decided at compile time, they turns into a jump table.

            i really dont wanna be insulting, here, for once.
            but honestly it sounds like 10 different colors of useless to me
            in a scripting language *everything* is decided at runtime, and is dependent on the parser.
            generics dont even make much sense here...

            and that kind of applications make this
            >Rust gives you a ton of flexibility to optimize, to make the code do exactly what you want, and that's why it's so complex.
            a problem.

            having 50 different ways of achieving something you could achieve using only one only increases code complexity... for free. for shits and giggles.
            yes, you have to type more in C... but only sometimes.
            bc whenever you want to make something custom and optimized you will be doing unsafe.
            you will be writing C, only with rust syntax.

            so, whats the effing point?
            i mean in certain settings it may make sense, like in the corporate world.
            there they want ee's to be interchangeable so that they can pay everyone less. also with the constant churn its a pain in the balls to let people acclimate to the codebase.

            but in small teams?
            in applications where rust features become a cognitive burden?
            it would be a design mistake to use rust.
            just as much as it would have been a design mistake to use C in big corporate projects.

            comparing rust to C is like comparing a screwdriver to a knife.
            in absolute, both products have similar capabilities
            but using either in the others niche is tedious and counter-productive.

            im literally telling you that each tool has its niche.
            rust wont replace everything bc its not designed for that
            and even if it was...
            (cont.)

          • 1 month ago
            Anonymous

            It literally is generics, but unlike whatever implementation you're thinking of it has to be resolvable at runtime. If it isn't then your code won't compile. It doesn't silently deoptimize it into a vtable. (You can manually request a vtable though.)
            You're in control of your code's efficiency. It doesn't sweep it under the rug.
            It helps to learn the language you're arguing about! I don't think it'd convert you but it would let you make better criticisms.
            >having 50 different ways of achieving something you could achieve using only one only increases code complexity... for free. for shits and giggles.
            All the different ways exist for a reason. You can't just assume something was done for no reason, come on, that means you don't understand it.
            >bc whenever you want to make something custom and optimized you will be doing unsafe.
            >you will be writing C, only with rust syntax.
            No. You usually don't need unsafe and unsafe mixes well with many higher-level features. You can write generic unsafe code.
            >but in small teams?
            >in applications where rust features become a cognitive burden?
            Works fine IME. In C you have to track all the same shit manually, I don't think the cognitive burden increases overall.
            >im literally telling you that each tool has its niche.
            C has its niche for sure and it's not going away but I don't think its niche is the one you're describing.
            >rust wont replace everything bc its not designed for that
            Obviously.

          • 1 month ago
            Anonymous

            >It doesn't silently deoptimize it into a vtable.
            i think it actually does. in some cases you can resolve generics at runtime. and the only way you can do this (AFAIK, correct me if im wrong), is to turn the generics into a jump table.

            consider the following:
            you got a generic for output purposes. lets say its debug. a generic printf.

            and you parse a script. a config file. whatever human-readable that might yield various types.

            depending on the keyword you parse, the value behind it can be a float or an int for example.
            but you dont know the order and composition of your script.
            and you pass either variable to a generic function.
            ->how can this be resolved at compile time?

            >All the different ways exist for a reason. You can't just assume something was done for no reason, come on, that means you don't understand it.
            im not saying this didnt happen without any reason.
            but it can have hapenned for the wrong ones.
            or reasons that could be avoided altogether during the design stage
            it is one of the (valid) critiques of python that i heard the most btw:
            complexity emerging from alternative syntaxes or procedures.

            >You usually don't need unsafe
            usually. which may mean 1% of your code is unsafe, or in 1% of applications 99% of your code is.
            i subscribe to the latter
            and "you dont need dat" is clasically a cnile position, kek

            >In C you have to track all the same shit manually, I don't think the cognitive burden increases overall.
            that might be fair.
            rust vs C is exchanging algorythmic complexity (C) for procedural complexity (rust).
            i dont write in rust, so i cant tell how true is the comparison, and even if i did, i dont think there would be a clear cut objective difference.
            i think we can agree on this.

            obviously, as a visualizing type, i am gonna gravitate towards C. i like things i can imagine when rust's procedures are very abstract + there is a whole lot to learn by heart.
            (cont.)

          • 1 month ago
            Anonymous

            >depending on the keyword you parse, the value behind it can be a float or an int for example.
            Rust isn't dynamically typed, so how do you envision the setup for this?
            The most likely implementation would use a separate variable for each possible type with its own separate function call. Like so:
            enum Value {
            Int(i32),
            Float(f64),
            // etc
            }

            match parse_value() {
            Value::Int(integer) => print_debug(integer),
            Value::Float(number) => print_debug(number),
            }
            The compiler sees the first function call, sees that it uses an i32 variable, and generates an i32 version of print_debug().
            Then it sees the second function call, sees f64, etcetera.
            If you want dynamic dispatch you have to use it explicitly:
            let value: Box<dyn Debug> = parse_value_dyn();
            print_debug(&value);
            (You have to define and implement parse_value() differently so I gave it another name.)
            Notice the "dyn" keyword. That's how you opt into that. Notice also the Box to allocate the value on the heap (since you don't know its size). This doesn't happen silently either. Pessimization is a deliberate manual choice.
            C++ templates are also guaranteed to be monomorphized, and because the details are kind of sloppy there's really no alternative.
            (But it implements vtables using a completely different mechanism, namely virtual functions, while Rust builds both generics and virtual function calls on top of traits so that it's easier to switch between them.)

            (cont.)
            >C has its niche for sure and it's not going away but I don't think its niche is the one you're describing.
            idk man
            if rust becomes a cognitive burden, its a cognitive burden, no?

            to clarify:
            i would use C
            >whenever you need all the performance you can get
            bc C is perfect to create low-level custom solutions.
            >whenever you have to put something where it doesnt really fit
            bc of a (quasi) lack of automations, and because of a syntax that makes it easy to manipulate memory.

            all in all i might look into rust at some point, just for honesty sake
            it wont be tomorrow tho. im in the middle of something rn

            you need all the performance you can get
            I don't think this works out, at least not in general. You can write very fast Rust code using weird specialized tricks, just like C. A lot of high-performance work today is done in C++.
            The benchmarks don't show this, neither silly microbenchmarks nor larger systems.
            you have to put something where it doesnt really fit
            Completely agreed about this one.
            >all in all i might look into rust at some point, just for honesty sake
            Good luck!

          • 1 month ago
            Anonymous

            Uhh, the code might be clearer with function signatures.
            Generics:
            fn parse_value() -> Value;
            fn print_debug<T: Debug>(value: &T);
            // or equivalent shorthand:
            fn print_debug(value: &impl Debug);
            Dynamic dispatch:
            fn parse_value() -> Box<dyn Debug>;
            fn print_debug(value: &dyn Debug);

          • 1 month ago
            Anonymous

            >Rust isn't dynamically typed, so how do you envision the setup for this?
            ugh... im too tired to learn rust on the fly rn
            and my C++ is quasi non existent

            but in generics and templates
            when type deduction plays a role
            and it cannot be decided at compiletime
            it decays into a jump table and runtime computation
            maybe theres some way i didnt think of, maybe longjumps idk
            but it isnt like theres 30 ways you could go about things... and...
            >while Rust builds both generics and virtual function calls on top of traits so that it's easier to switch between them.)
            yeah, you say as much yourself
            also isnt a trait just a vtable? only the vtable is "global"? while you regroup specific types into a trait... right?

            but then fundamentally, at the root of it all, the two procedures you can do, is either duplicate functions (or generics- automatisation thereof) (ifit can be decided at runtime) or a jump table/case statement.
            which you can do in c.

            and if you really abhor duplicate code you could either cobble toegether a macro, or just go all the way in and extend the language for which extension you just do a modif pass on your code before shoving the product into the compiler
            you could even seamlessly integrate this, and even the construction of your tools for passe purpose themselves into a makefile.
            and you can do that easily bc C is so simple at its core. its dead simple to algorythmically generate C code.
            python would already be a bigger pain in the balls
            i will learn it someday but i think rust could be a chore. at least if one would want to keep a granular control over the code generation

            i mean, if youre stubborn, you could create a self generating memory management system you graft onto regular C code, just with the addition of a couple symbols for instance.
            its been a while i wanted to create a code analysis tool which would follow the lifetimes of my variables. i never really needed it,but it would be nifty to have
            (cont.)

          • 1 month ago
            Anonymous

            Not to be mean or start shit, but have you really been going through life with the impression that rust uses dynamic dispatch for its generics?

          • 1 month ago
            Anonymous

            like i wrote
            if type deduction is involved
            and it cannot be decided at compiletime
            >it is decided at runtime
            maybe rust doesnt do runtime type deduction, but c++ does, i wasled to believe

          • 1 month ago
            Anonymous

            Both rust and C++ do both, dynamic and static checking depending on what you use. Templates are exclusively static constructs, they are effectively a macro language. Traits are a little more powerful in that they can both be template equivalent or used for dynamic dispatch. As the other anon said, dynamic dispatch has to be explicit by using the dyn keyword, and you don't have to do anything else for it, unlike you C++, where you need to have both templates and virtual functions for different cases.

            This is exactly the the same as in C, where if you want a generic interface that can be dynamically implemented at runtime you could create v-table like structs of function pointers, or use similar dynamic, runtime checked, mapping methods.

          • 1 month ago
            Anonymous

            thanks anon. i was kinda stepping in the dark here

            [...]
            Different anon here
            To make this very clear, types that do dynamic dispatch have a different syntax (with the dyn keyword) from types that do static dispatch
            This was one of the few syntax changes after 1.0, to make it harder to accidentally do the slow thing when you expect the fast thing to happen

            aaah, ok
            you solved it by giving control to the user over which solution is used
            makes sense.

          • 1 month ago
            Anonymous

            Both rust and C++ do both, dynamic and static checking depending on what you use. Templates are exclusively static constructs, they are effectively a macro language. Traits are a little more powerful in that they can both be template equivalent or used for dynamic dispatch. As the other anon said, dynamic dispatch has to be explicit by using the dyn keyword, and you don't have to do anything else for it, unlike you C++, where you need to have both templates and virtual functions for different cases.

            This is exactly the the same as in C, where if you want a generic interface that can be dynamically implemented at runtime you could create v-table like structs of function pointers, or use similar dynamic, runtime checked, mapping methods.

            Different anon here
            To make this very clear, types that do dynamic dispatch have a different syntax (with the dyn keyword) from types that do static dispatch
            This was one of the few syntax changes after 1.0, to make it harder to accidentally do the slow thing when you expect the fast thing to happen

          • 1 month ago
            Anonymous

            So you can do this in C, but in C it's weird and fiddly enough that it's a tool of last resort, while in Rust it's often actually the most convenient way to do something. People will write generics all over the place and libraries will provide them without thinking twice because you don't have to explain to users how to use them, they already know.
            It's like how you could in principle do everything in assembly, and yet...

          • 1 month ago
            Anonymous

            >c
            >weird and fiddly
            thats purely subjective.
            it "weirdness" can even be discussed in an objective manner, since theres so many languages that borrow from C (B) syntax
            >libs
            sometimes theydont cut it.
            for such cases, (and for the libs themselves), you got C.

            its weird how we got all these libs, yet we still write assembly code...

            >another thread by seething cniles

            sloppy craftsmanship.
            add a background to your rust logo, its gonna look better

            What kind of stuff are you trying to do?

            [...]
            It's like a single guy though.

            >It's like a single guy though.
            whenever i post i like to use the oh so recognizable meme of replacing a face with the C logo.
            im not using it everywhere, but whenever i post youre gonna see the image appear once or twice in the log.
            this should give you an idea how often i post
            and that, no, its not "just one guy"

            in fact, im surprized how many C coders lurk here (also resident poltards jumped on the bandwagon bc they smelt men-strual blood in the proverbial slightly yellow water)

          • 1 month ago
            Anonymous

            >>c
            and fiddly
            >thats purely subjective.
            >it "weirdness" can even be discussed in an objective manner, since theres so many languages that borrow from C (B) syntax
            That's about something very specific unrelated to syntax, please reread and take note of the context

          • 1 month ago
            Anonymous

            gimme a qrd its gonna be faster
            you can resume an idea in a couple phrases,no?

          • 1 month ago
            Anonymous

            Nah, this is your responsibility
            Just reread your own post from yesterday, this one:

            >Rust isn't dynamically typed, so how do you envision the setup for this?
            ugh... im too tired to learn rust on the fly rn
            and my C++ is quasi non existent

            but in generics and templates
            when type deduction plays a role
            and it cannot be decided at compiletime
            it decays into a jump table and runtime computation
            maybe theres some way i didnt think of, maybe longjumps idk
            but it isnt like theres 30 ways you could go about things... and...
            >while Rust builds both generics and virtual function calls on top of traits so that it's easier to switch between them.)
            yeah, you say as much yourself
            also isnt a trait just a vtable? only the vtable is "global"? while you regroup specific types into a trait... right?

            but then fundamentally, at the root of it all, the two procedures you can do, is either duplicate functions (or generics- automatisation thereof) (ifit can be decided at runtime) or a jump table/case statement.
            which you can do in c.

            and if you really abhor duplicate code you could either cobble toegether a macro, or just go all the way in and extend the language for which extension you just do a modif pass on your code before shoving the product into the compiler
            you could even seamlessly integrate this, and even the construction of your tools for passe purpose themselves into a makefile.
            and you can do that easily bc C is so simple at its core. its dead simple to algorythmically generate C code.
            python would already be a bigger pain in the balls
            i will learn it someday but i think rust could be a chore. at least if one would want to keep a granular control over the code generation

            i mean, if youre stubborn, you could create a self generating memory management system you graft onto regular C code, just with the addition of a couple symbols for instance.
            its been a while i wanted to create a code analysis tool which would follow the lifetimes of my variables. i never really needed it,but it would be nifty to have
            (cont.)

          • 1 month ago
            Anonymous

            theres nothing fiddly about using a couple sed's at the least, and writing an extension to a language at most.
            if you mean fiddly as you have to do it yourself, thats subjective.
            if you mean fiddly as in bad interfacing or unreliable code thats on the programmer.

          • 1 month ago
            Anonymous

            >theres nothing fiddly about using a couple sed's at the least, and writing an extension to a language at most.
            This is very fiddly, which is why it's done only rarely. I can't offhand name a C project that does it like that, and only one project comes to mind that hacks in generics using the preprocessor (postgres). I haven't studied a ton of C projects but I've looked at enough to notice a pattern—if you know some good examples then please post them.
            Meanwhile all Rust programmers use Rust generics all the time because they just werk and you don't need to explain to other programmers what scheme you've concocted.
            This extreme difference in usage indicates something, right?
            If fast code is inconvenient to write then people will write less of it.

          • 1 month ago
            Anonymous

            >that hacks in generics
            now this is fricking fiddly
            youre better off just implementing a system of generics of your own

            the real reason it isnt done is bc corporate wont allow that, and thats completely normal
            and small teams go "meh, why bother. i can hack my way around this problem"

            i got a different approach, since im self employed and soon will even be hiring.
            i know that i will keep using my tools so its an investment in the future
            i dont really need generics, but theres other stuff i wanna implement, namely a sort of code explorer.
            something that will follow the lifetimes and interactions of the variables and data in my program.
            for refactoring and debug purposes.
            i dont really need it but it would increase my efficiency, so its pretty high on the priority list

            well, thats basically a map of your dataflow.
            its the perfect starting point to experiment with various automations. like generics.

            nothing fiddly about that. i will depend on these tools. and imin a position i can actually invest timeinto them bc iwill see the returns of it in the mid to long term
            (i share this idea around bc i will opensores this tool / extension when its satisfactory btw)

          • 1 month ago
            Anonymous

            especially to eliminate dead code
            or multiple variables being utilized to set up/calculate the same parameter
            like turning the whole program into a tree of dataflows if you see what imean
            not only as a debug tool, but maybe even more as a refactoring/code exploration tool.

          • 1 month ago
            Anonymous

            (cont.)
            >C has its niche for sure and it's not going away but I don't think its niche is the one you're describing.
            idk man
            if rust becomes a cognitive burden, its a cognitive burden, no?

            to clarify:
            i would use C
            >whenever you need all the performance you can get
            bc C is perfect to create low-level custom solutions.
            >whenever you have to put something where it doesnt really fit
            bc of a (quasi) lack of automations, and because of a syntax that makes it easy to manipulate memory.

            all in all i might look into rust at some point, just for honesty sake
            it wont be tomorrow tho. im in the middle of something rn

          • 1 month ago
            Anonymous

            >with the same problem as generics: if they cannot be decided at compile time, they turns into a jump table.
            Hahahahahahahahaha

            Hahahahahahahahahaha
            You "know" a whole total of 1 (one) language, motherfricker. Unironically rope.

          • 1 month ago
            Anonymous

            >yeah. in C performance considerations are left to the programmer who wrote the compiler.
            FTFY. You forgot the end of your sentence.

            >rust is designed for people.
            FTFY.

          • 1 month ago
            Anonymous

            >ub is still deterministic. git gud, scrub
            In what sense? Can you still upgrade your compiler?

          • 1 month ago
            Anonymous

            its still deterministic even if you do
            what you mean is that you might not know what will be the result.
            its not the exactly the same.
            and theres UBs that are rock solid.
            like derefs on packed pointers.
            like binary ops on floats.

          • 1 month ago
            Anonymous
          • 1 month ago
            Anonymous

            >a specialized solution with equal quality of code
            I see this thrown around a lot but in practice everytime a cnile has to implement a hashtable it's an absolute joke of a hashing function and even more pathetic implementation of the API.

          • 1 month ago
            Anonymous

            >yeah. in C performance considerations are left to the programmer who wrote the compiler.
            FTFY. You forgot the end of your sentence.

            >rust is designed for people.
            FTFY.

            no argument = i accept your concession, rustroons

            >yeah. in C performance considerations are left to the programmer.
            >rust is designed for people who cant into opti.
            >heck, rust is deigned for people who cant into strings...
            Not really. Rust gives you a ton of flexibility to optimize, to make the code do exactly what you want, and that's why it's so complex. Making Rust code fast is a manual process where you have to know how everything works. The language gives you tools and even lets you create tools but doesn't do your work for you. Case in point:
            >no. but i can admit theyre equivalent and the difference is subjective
            >type Binop = fn(i32, i32) -> i32;
            >let bo: Binop = add;
            >x = bo(5,7);
            >
            >vs
            >int x;
            >int (*ptr_add)(int, int) = &add;
            >x = ptr_add(5, 7);
            This is only one kind of function reference, Rust has various other options. Consider:
            fn add_using(add: impl FnOnce(i32, i32) -> i32) {
            let x = add(5, 7);
            }
            Rust will monomorphize a separate version of this function for each callable type that you use with it. This means that in a lot of cases it's guaranteed to hardcode the function call instead of resolving it at runtime, giving it an opportunity to inline. (You can also pass it C-style function pointers, and then it will monomorphize a single instance that uses those.)
            C doesn't really give you that tool, you have to use generics or copy/paste. Which is a pain in the ass so people reach for it less often even in cases where it would perform better.
            Rust also has boxed functions as a third alternative. And it lets you distinguish between callables that are freely callable and ones that require exclusive access and ones that can only be called once.
            So they're not equivalent. They're a superset.

            [...]
            Some UB is solid and documented as such, some UB is simply bad news that you really can't rely on.

            (cont.)
            ... that would make it a generalized solution.

            i gtg for ~30 mins
            brb

          • 1 month ago
            Anonymous

            >no argument
            There was an argument, you lack reading comprehension.

          • 1 month ago
            Anonymous

            >yeah. in C performance considerations are left to the programmer who wrote the compiler.
            That's a fact. The speed of C programs depends on the programmer who wrote the compiler.

            From one of your idols:
            https://justine.lol/endian.html
            > Now you might be looking at the code above and be thinking, surely that's the slowest thing imaginable. Here's a israeliteel from the TensorFlow codebase expressing that sentiment:
            // Fall back on a non-optimized implementation on other big-endian targets.
            // This code swaps one byte at a time and is probably an order of magnitude
            // slower.
            #define BYTE_SWAP_64(x)
            ~~*(x)&0x00000000000000ffUL) << 56) | ~~*x)&0x000000000000ff00UL) << 40) |
            ~~*x)&0x0000000000ff0000UL) << 24) | ~~*x)&0x00000000ff000000UL) << 8) |
            ~~*x)&0x000000ff00000000UL) >> 8) | ~~*x)&0x0000ff0000000000UL) >> 24) |
            ~~*x)&0x00ff000000000000UL) >> 40) | ~~*x)&0xff00000000000000UL) >> 56))

            > That might have been true with old compilers, but it's not true today. The more verbosely well-defined your code is, then with a good modern compiler, the smaller the generated code will be. Here's what we get if we run it through clang.godbolt.org:

          • 1 month ago
            Anonymous

            >idols
            i have no idols. wtf you on Black person? and can i have some?

            again
            >someone elses code is shit threefore yours is
            especially
            >tensor flow, a library

            fricking hell, what rust does to a mfer
            also:
            garbage in, garbage out, no matter the compiler.
            and finally:
            if its too slow, you can inline asm in C.
            now gtfback in line

            Nowhere in my post did I call you shit for not using an LSP, I implied you are stupid which is entirely different and valid.
            Let me explain so there's no confusion in your head:
            Not using an LSP does not make you a good programmer, it doesn't make you a bad one either, what it does do is lower your productivity for no reason other than you feeling superior to people that actually use tools meant for their job.
            Not using an LSP in 2024 is intentionally gimping yourself.

            >LSP
            liskov substitution principle?
            language server protocol?
            you fricking autists need to learn how to human.
            its fricking tiresome especially when you have ego, its on the level of a 5 year old's

          • 1 month ago
            Anonymous

            >if its too slow, you can inline asm in C.
            https://doc.rust-lang.org/reference/inline-assembly.html

          • 1 month ago
            Anonymous

            oh, inline assembly, what a cool feature

            FYI you can write a normal assembly code and include it in your c/h or cpp/hpp file just fine, no need to inline anything

            btw what are you even trying to prove? that your favourite programming language is better the other? perfect is the enemy of good and in the context of programming languages, that's usually true

            most of the features of these new programming languages are a take on grabbing some code and making it a built-in procedure (or API), but a) usually makes the compiler itself more complex than it could've been if these weren't built-in features b) this covers some implementation details that you might have actually wanted to know, because that could've made you think twice before write a line of code and possibly pessimising your performance, see: templates or every other take on compile-time code generation

            that's totally obsolete and can be achieved w/ a program called, surprise surprise, codegen

            grow up and do something useful instead of shilling here

          • 1 month ago
            Anonymous

            I was just pointing out that this was a feature in rust as well. What kind of brainrot do you have to be under to write a reply like this to a post like mine?

          • 1 month ago
            Anonymous

            It's quite really the same thing as letting women into the workforce because more workers = prosperity and fairness when the only reason they're employed is the suck up the inflation created by the central banks. In this context, Rust has no reason to exist beyond its utility to those who profit from it at the expense of performance.
            Yes, the lack of safety is a feature. And yes, you'll continue to argue otherwise, because
            >easier to code = better

            if it becomes the norm salaryscape will look even worse, there will be even more incompetents in coding, competent people's work will become more tedious, and it wont solve anything bc rust ISNT memory safe, only slightly safer
            and no amount of syntax will ever cure moron.

      • 1 month ago
        Anonymous

        The frick you mean you never felt the need to use a language server for rust? Do you raw dog code in notepad? Makes no fricking sense to gimp yourself by losing autocompletes, definitions, etc

        • 1 month ago
          Anonymous

          oh, the "other people are shit therefore you are shit too"?
          youre mentally ill

          ill be back

          • 1 month ago
            Anonymous

            Nowhere in my post did I call you shit for not using an LSP, I implied you are stupid which is entirely different and valid.
            Let me explain so there's no confusion in your head:
            Not using an LSP does not make you a good programmer, it doesn't make you a bad one either, what it does do is lower your productivity for no reason other than you feeling superior to people that actually use tools meant for their job.
            Not using an LSP in 2024 is intentionally gimping yourself.

          • 1 month ago
            Anonymous

            Productivity has nothing to do with being a good programmer

        • 1 month ago
          Anonymous

          >The frick you mean you never felt the need to use a language server for rust?
          I simply don't use LSPs. I used to with C++ back when I was using IDEs, but then I just stopped using IDEs and I didn't miss LSPs at all. I never did with C, python, php, common lisp, javascript, etc etc. Again, as I said, part of this is just the sheer laziness of having to set it up, but with rust I find the documentation is so good I can
          1. search for shit really easily and quickly, I just program with a docs page open
          2. remember the functionality I need really easily once I find it for the first time
          I find it really helps with memorizing the things you want, instead of being like java, where you're constantly browsing through lists of functions because every implementation for everything is infinitely complicated. At this point I really wouldn't go back to LSPs, and tend to disable them if they're default and if I'm noticing myself relying on them. But I get why people like them.

          I will say this though: it took some time for me to get used to Rust's documentation. If you're new to the language it may seem really overwhelming because of all the trait implementations etc.

          It literally is generics, but unlike whatever implementation you're thinking of it has to be resolvable at runtime. If it isn't then your code won't compile. It doesn't silently deoptimize it into a vtable. (You can manually request a vtable though.)
          You're in control of your code's efficiency. It doesn't sweep it under the rug.
          It helps to learn the language you're arguing about! I don't think it'd convert you but it would let you make better criticisms.
          >having 50 different ways of achieving something you could achieve using only one only increases code complexity... for free. for shits and giggles.
          All the different ways exist for a reason. You can't just assume something was done for no reason, come on, that means you don't understand it.
          >bc whenever you want to make something custom and optimized you will be doing unsafe.
          >you will be writing C, only with rust syntax.
          No. You usually don't need unsafe and unsafe mixes well with many higher-level features. You can write generic unsafe code.
          >but in small teams?
          >in applications where rust features become a cognitive burden?
          Works fine IME. In C you have to track all the same shit manually, I don't think the cognitive burden increases overall.
          >im literally telling you that each tool has its niche.
          C has its niche for sure and it's not going away but I don't think its niche is the one you're describing.
          >rust wont replace everything bc its not designed for that
          Obviously.

          >C has its niche for sure and it's not going away but I don't think its niche is the one you're describing.
          I see this argument a lot, but I have never seen someone actually detail what C is better than rust for. Unless you're talking about systems who simply don't have a rust compiler available to them? Genuinely curious.

          • 1 month ago
            Anonymous

            I don't have direct experience but I'll tell you what I picked up.
            There are platforms that Rust simply can't support because they e.g. don't have 8-bit bytes. C is pretty flexible about this. (Even platforms that might be able to support it in theory sometimes don't even have GCC support, like NonStop, but writing a C compiler is a feasible one-man project so you can count on that.)
            Rust has some code size footguns, basically inherent due to monomorphization. C has a more straightforward relation between the amount of code you write and the amount of assembly that's produced. So if small code size is paramount then Rust is trickier at least.
            People who fuss directly with the hardware seem to like tight micromanagement. I once saw someone say that he had very different opinions about C++ depending on whether he was working on drivers or high-level software.

          • 1 month ago
            Anonymous

            Ok, thanks!

        • 1 month ago
          Anonymous

          I started out with Emacs and no rust-analyzer. Worked fine honestly even though I wouldn't want to miss it now

      • 1 month ago
        Anonymous

        I agree on all points. The only thing I don't love about Rust is the feature creep. Just leave it alone, stop adding things, stop talking about next release, just stop. Macros were a mistake, coming around to their own async implementation years later was a mistake, etc.

        If there was a program out there with the Rust ownership/borrow checker model and a heavily reduced feature set compared to Rust, with one way of doing everything, no macros, first class vanilla FP strict typing, I would never write a line of anything else again.

        As it is I hate writing anything outside of Rust these days because of how powerful the checker is, how much of my brain I can just switch off and let the compiler protect me from oopsie whoopsie, focus on the actual logic.

        • 1 month ago
          Anonymous

          >program
          if there was a language* out there

        • 1 month ago
          Anonymous

          You sound unemployed

          • 1 month ago
            Anonymous

            I am unemployed, and I wear programming socks. And a collar when I'm allowed to.

        • 1 month ago
          Anonymous

          I like macros, and I think rust's async is one of the better versions of async I've used, even though I know some people really dislike it. Feature creep is a problem when new features conflict with old ones or aren't well integrated with the rest of the language. More features doesn't necessarily equal bad. The reason why C++ is trash is not because it has a lot of features, it's because
          1. Those features are very poorly integrated in the language as a whole,
          2. Features often step on each others toes
          3. Legacy code is still a priority therefore new features have to deal with issues inherent to the underlying environment
          I simply don't see this being the case with rust at the moment. You do you though.

          I am unemployed, and I wear programming socks. And a collar when I'm allowed to.

          Holy based

        • 1 month ago
          Anonymous

          Wut. Rust macros are amazing and async is strictly superior to what you find in other systems programming languages.

          • 1 month ago
            Anonymous

            >async is strictly superior to what you find in other systems programming languages.
            I think Go's CSP style concurrency with goroutines is better because it's so simple. But both goroutines and async are million times better than anything else.

          • 1 month ago
            Anonymous

            Go is a managed language.

  6. 1 month ago
    Anonymous

    no, thanks

  7. 1 month ago
    Anonymous

    Regardless of the language, the logo is infantile.

    • 1 month ago
      Anonymous

      Does it make you feel threatened?

      • 1 month ago
        Anonymous

        >what rust does to a mfer

        • 1 month ago
          Anonymous

          >Feeling emasculated by a silly little smiling crab.

          • 1 month ago
            Anonymous

            still beats getting physically emasculated bc of rust-induced autogynephylia.

          • 1 month ago
            Anonymous

            also crabs benolng in my belly, not in my computer

            Aww man, what the frick. These things you're saying are really hurtful man. 🙁

          • 1 month ago
            Anonymous

            its banter, sweatie
            if its too hot for your liking, get out of the kitchen

          • 1 month ago
            Anonymous

            also crabs benolng in my belly, not in my computer

          • 1 month ago
            Anonymous

            This is exactly the kind of willful misrepresentation I've come to expect from the seething ignoramuses who like Rust. Seethe more

    • 1 month ago
      Anonymous

      That's the mascot, not the logo. The logo is fine

    • 1 month ago
      Anonymous

      mascots have always been goofy.

      • 1 month ago
        Anonymous

        Yes. Imagine being so insecure you need the tools you use to have gonks.

        • 1 month ago
          Anonymous

          Anon, the point of mascots was never meant to feel secured. But if you need a plush toy to make you feel cozy, you do you. I have no judgement.

        • 1 month ago
          Anonymous

          PHP is the polar opposite of Rust and I love my elephpant

        • 1 month ago
          Anonymous

          >STOP HAVING FUN

  8. 1 month ago
    Anonymous

    I don't trust in rust.

  9. 1 month ago
    Anonymous

    >morons keep arguing in a rust thread vol. 135780

  10. 1 month ago
    Anonymous

    Why would I learn this if I am not a moron who double frees allocated memory? (Honest question)

    • 1 month ago
      Anonymous

      You shouldn't. There is literally no other reason to learn fasmg (which is your favourite language, I know), if you don't have trouble with freeing memory in an orderly fashion. There are precisely 0 improvements that can be done beyond that, so don't bother.

  11. 1 month ago
    Anonymous

    None of you will ever be a real woman

    • 1 month ago
      Anonymous

      you say it like its a bad thing

  12. 1 month ago
    Anonymous

    rust

  13. 1 month ago
    Anonymous

    I've been under a rock for most of the year. What Rust foundation drama have I missed out on?

  14. 1 month ago
    Anonymous

    Rust!

  15. 1 month ago
    Anonymous

    Do I become a rust troony or a zigger?

  16. 1 month ago
    Anonymous

    Say no to rust!

  17. 1 month ago
    Anonymous

    B-BUT IQfy TOLD ME RUST PROGRAMMERS ARE TRANNIEEEEES
    The entire thread in a nutshell.

  18. 1 month ago
    Anonymous

    He.

    *SniBbb :DDD*

    She.

  19. 1 month ago
    Anonymous

    Ada!

    • 1 month ago
      Anonymous

      I don't get the hype behind Rust. Ada does everything that Rust does but Ada is more mature. Ada has also much nicer syntax. Everyone who says that "syntax doesn't matter" is a liar because it does matter. Compare your $lang to Cobol! Syntax does matter but it's not the most important thing. Ada is much nicer in this regard, too. It resembles kinda like Pascal on steroids.

      • 1 month ago
        Anonymous

        >Ada does everything that Rust
        Wrong, it does not

      • 1 month ago
        Anonymous

        >Ada does everything that Rust does.
        >Ada has also much nicer syntax
        What have you programmed with Ada?

      • 1 month ago
        Anonymous
  20. 1 month ago
    Anonymous

    who cares, neuralink is coming and ai is here yet you’re talking about autistic c++

  21. 1 month ago
    Anonymous

    My big issue with rust is the compiler often leads you on wild goose chases if you start doing anything remotely complicated with object lifetimes, it reminds me a lot of how bad early c++ compilers got when you tried to use templates and then bam all of a sudden you don’t know what the frick is going on because you just stepped on a trip mine and these cryptic “friendly” errors suddenly pop up turning something that logically should take 5 minutes into a 50 minute puzzle fest.

    • 1 month ago
      Anonymous

      What kind of stuff are you trying to do?

      >another thread by seething cniles

      It's like a single guy though.

      • 1 month ago
        Anonymous

        One example would be combining generics to get desired behaviour. It's a pain.

        • 1 month ago
          Anonymous

          NTA but I am actually in love with generics and trait objects in Rust; both feel to have their own distinctive use cases and even though most of what I right doesn't need the speed the whole monomorphisation meme with skipping the vtable on pure generic types makes me completely euphoric.

          I did once get caught on something for a long time when I was juggling a few named lifetimes alongside a tuple of generics that could each be a few concrete types. I should have used a trait object and just abstracted it all behind that but I was being stubborn. That was really the only time I've felt any friction though with it though.

  22. 1 month ago
    Anonymous

    >another thread by seething cniles

  23. 1 month ago
    Anonymous

    >Rust!
    Rust is an economically destructive fungus.
    https://en.wikipedia.org/wiki/Rust_(fungus)

  24. 1 month ago
    Anonymous

    I was rewriting a project of mine in this the other day for the first time and came face to face with a variable lifetime error. Never have I felt more helpless against a compiler.

    • 1 month ago
      Anonymous

      My experience when it comes to lifetime errors is that you either
      1. need to simplify your interfaces (or use pointers / internal mutability, which is totally fair),
      2. Lifetimes haven't really clicked for you yet.

  25. 1 month ago
    sage

    No! Not even once!

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