• HouseWolf@lemm.ee
    link
    fedilink
    English
    arrow-up
    64
    ·
    edit-2
    7 months ago

    Setting Aliases because I can’t remember the new ones

    I got a buddy who switched to EndeavourOS after using Linux Mint for about a year, He said he was too lazy to learn pacman/yay so he spent an hour making fake apt aliases, I forgot what happened but after a while he gave up on it and just got use to pacman.

  • redempt@lemmy.world
    link
    fedilink
    arrow-up
    39
    ·
    7 months ago

    I love it because software written in rust tends to be straight up better. because it makes it so easy to make your code parallel, because it makes it easy to be user friendly by design, people actually go that extra mile. because it’s so easy to pull in a dependency to do something you’d be too lazy to do in C, the tools can get a bit big but they tend to work really well. I’ll take a rust CLI app over a python CLI script any day, and I’ll especially take it over software written in C. most people don’t care as long as the tool works, but you can definitely feel the difference of the language it’s written in in its design and performance.

    • renzev@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 months ago

      Good software can come from almost any language, but yeah there’s just something about rust CLI tools. I’ve pretty much always had issues with incorrect file type associations on Linux, until I started using handlr. exa (or eza?) is great too. Just like ls but better in every way.

  • rtxn@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    24
    ·
    7 months ago

    I feel the same way about Haskell. Every program I’ve used is either a “Look at what else Haskell can do!” example, or an endorsement of universal packages whenever I have to update 200 haskell modules.

    • PoolloverNathan@programming.dev
      link
      fedilink
      arrow-up
      6
      ·
      7 months ago

      ↑ This. Haskell makes it super easy to get good CLI filters. All you need to do is interact and process the string it gives you. You’ll automatically get streaming behavior because of laziness without lifting a finger.

        • PoolloverNathan@programming.dev
          link
          fedilink
          arrow-up
          3
          ·
          7 months ago

          interact is (StringString) → IO (), a function that takes a StringString (a function that takes a string and returns a string) and returns an I/O operation (which is a separate type since Haskell doesn’t have side-effects). The function you give it will receive all of stdin as a string and its output will be stdout. The magic comes because Haskell uses cons-lists that are lazy in their spine — the list doesn’t actually exist until you look at it. This means that, from your perspective (probably not how this is actually implemented), the list you return is iterated character-by-character, and each character that gets printed only waits for the characters it needs, allowing the rest of the stdin list to remain unevaluated.

      • MajorHavoc@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        7 months ago

        Yeah. Putting my old man crankiness aside, for a moment, I adore goLang. GoLang is like having a youngest grandchild. It can do whatever it wants and I’ll praise it.

        • jelloeater - Ops Mgr@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          ·
          edit-2
          7 months ago

          I literally learned it over a one week vacation. The only other language that comes close to being that easy to learn is Python. I often tell folks, if C and Python had a baby, it would be GoLang.

    • evranch@lemmy.ca
      link
      fedilink
      arrow-up
      5
      ·
      7 months ago

      Rust is heresy. Everything should be mutable, the way that God intended it to be!

      Seriously though as someone who has mainly done embedded work for decades and got used to constrained environments, the everything is immutable paradigm seems clunky and inelegant. I don’t want to copy everything all the time.

      Now if you’ll excuse me, these null pointers aren’t going to dereference themselves

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        5
        ·
        7 months ago

        You seem to have gotten a wrong impression there. Rust absolutely has mutability: https://doc.rust-lang.org/rust-by-example/scope/borrow/mut.html

        I would even go so far that Rust is making mutability fashionable again.
        More modern languages had generally kind of ousted mutability, but as you say, that means tons of copying, which was a no-go for Rust’s performance goals.

        So, they looked for ways to allow for mutability without it being a footgun. As such, Rust’s mutability handling differs from many other languages in that:

        • It’s practically always explicit when something is mutable.
        • Whether something is mutable is associated with the variable binding rather than the data type. This means you can temporarily opt into mutability (if you have ownership of that variable).
        • evranch@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          I was more referring to the fact that everything is immutable by default. As someone who’s just starting to get old (40) and literally grew up with C, it’s just ingrained in me that a variable is… Variable.

          If I want a variable to be immutable I would declare it const, and I’m just not used to the opposite. So when playing with Rust, the tutorial said that “most people find themselves fighting with the borrow checker” and sure enough, that’s what I ended up doing!

          I like the concepts behind it, it really encourages writing safe code, and I feel like it’s not just going to be a fad language but will likely end up underlying secure systems of the future. Linux kernel rewrite in Rust when?

          It’s just that personally I don’t have the flow of writing code like I would in C/++, just not used to it. The scoping, the way you pass variables and can sort of “use up a reference” so it’s not available anymore just feels cumbersome compared to just passing &memory_location and getting on with it, lol

  • Turun@feddit.de
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    Eh, I did alias cat to bat, it fd is just easier to type and a million times better than find.