• Sasquatch@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    4 days ago

    Embedded? Rust!

    Web Frontend? Rust!

    Web Backend? Rust!

    idk what orher kinds of programming exist…

    • ZILtoid1991@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      3 days ago

      Game dev? Just force Rust into it, despite being quite mediocre for the job, there’s so many engines written in Rust. ECS is the answer to everything!

      • jasory@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        15 hours ago

        “Game dev… Just force Rust into it”

        What’s wrong with Rust for game dev? It seems similar to C++, and C# which are the dominant languages.

        I can see arguments that the current projects have poor approaches, but not that the language itself is ill-suited.

        • ZILtoid1991@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          9 hours ago

          Rust has constant by default, which many don’t like in gamedev circles. Yes, compilers don’t care and optimize - at the highest optimization setting, otherwise it’s marginally slower, and each constant use will just add up.

          Other Functional Programming features of Rust makes writing transform functions quite good, until you need to get the results of those functions to be displayed.

          Some of the system-level allocation is quite hard with Rust, if not impossible.

          The borrow checker is hard to use with games, not to mention it has a big impact on performance.

          Object-Oriented Programming is possible through macros, but sometimes you need OOP instead of Entity Component System for more system-level stuff. Sure, ECS is really nice for game systems, but Bevy (an engine written in Rust) uses it for everything.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      That is, like, genuinely an advantage, though. At $ DAYJOB, we have a project that spans embedded, backend, web frontend and CLI, and for all of these, Rust is decent.

      Like, I can see why a frontend dev would want to use HTML+CSS+JS/TS (rather than HTML+CSS+Rust), mainly because the massive ecosystem of JS components makes you more productive.

      But you pretty much won’t ever develop a web frontend without an accompanying backend, and then being able to use the same language-expertise, libraries, utility functions and model types, that is also a big boost to productivity, especially if you won’t have a dedicated frontend dev anyways.

      Realizing that also made me understand why people subject themselves to NodeJS for their backend, which has the same advantage, just with the big ecosystem in the frontend and the small ecosystem in the backend.

      • fuck_u_spez_in_particular@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        3 days ago

        because the massive ecosystem of JS components makes you more productive.

        Slightly less ironic: I question even this right now (as I have to suffer from endless “hot”-reloading and browser-crashes because of Next.js bloat).

        I think the massive ecosystem has fewer high quality libraries than Rust at this point. I use both JS/TS in frontend and Rust (either frontend more as a hobby and backend) extensively, and I very often check the dependencies-source, and even more often rewrite it (unfortunately not in Rust), because of low-quality. And it’s sooo slow… the tooling and the frontend (albeit I think that has a very lot to do with next.js… and with how easy it is to make it slow for someone not that experienced or someone not being extremely careful).

        Frontend is not yet as matured as JS/TS (whatever matured is, but the count of frontend frameworks is at least a magnitude higher in JS/TS), but I think when I would start a new company I would default to Rust now as frontend indeed, the language itself is for me reason. And I think vanilla-js (or Rust?) is not that much worse (time/effort-wise, sanity etc.) for more complex applications than what the Next.js ecosystem has produced so far.