• NiaTheCat@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Recently moved to PopOS and while I've been generally aware of Cosmic I've been looking into it a lot recently, don't know much about programming languages but from what I understand Rust is supposed to be really fast for this stuff.

    Will using Rust cause the desktop to feel really responsive/snappy compared to other ones like Gnome or KDE Plasma (not that they're slow), or is it more like an efficiency thing, less CPU/RAM use, etc? If this has already been answered can someone link me because I haven't been able to find much on it

    • fedcon@lemm.ee
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago

      Rust wouldn't necessarily make it more responsive. It is more oriented towards safety and robustness.

      Cosmic might be more responsive / efficient due to the fact that it's a new development and they can choose to implement things better and not carry old baggage, but that's about it. Rust doesn't have much say in it.

      Edit: Although, if they are moving away from JavaScript in Gnome as their shell language to pure Rust in Cosmic, then you would probably see some responsiveness / efficiency gains, yes.

    • Michael Murphy (S76)@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      1 year ago

      Synthetic benchmarks written in Rust are as fast as those in C. In practice, Rust applications are more efficient than their C counterparts. The performance and efficiency is nice, but the main benefit will be stable software that is free of vulnerabilities caused by common mistakes in C and C++. Virtually every Curl vulnerability would not happen in Rust.

      There's half of a century of programming language theory research between C++ and Rust. Which solves many of the issues in programming that are common in C and C++. Such as the memory and thread safety violations that can be difficult to diagnose, application crashes, and critical software vulnerabilities.

      The language concepts and compiler features also prevent a lot of common logical mistakes a programmer may make. Such that the best practices in C++ are the baseline for any Rust project that successfully compiles. It is easy to develop highly parallel and asynchronous software that just works and is easy to maintain and debug. As a result, you may notice Rust projects developing to maturity much quicker than you'd expect.