• kekmacska@lemmy.zip
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    5 days ago

    for command line apps bash, python, perl, ruby and similiar high level languages are more than enough. You can write some Kali Lincox the louder you are the less you hear network probe stuff with any of these, or even a storage optimizer (BleachBit is almost entirely written in Python, which is a very highly abstracted language implemented from C) Rust and C are only needed for performance-crtitical stuff (like rythm games) or/and directly interacting with hardware (drivers, firmware, system functions)

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

      I would not throw Rust and C together in this.
      Rust is low-level in terms of being usable for kernel and embedded development (due to not needing a runtime), but it’s rather high-level in terms of the syntax offering lots of abstraction from the weirdness of the hardware.

      Some of that not-needing-a-runtime does bleed into the syntax, but in my opinion, it’s still higher level from a syntax perspective than Bash et al, because it brings in many functional aspects.

      I guess, I’m also just bothered by you saying, you don’t ‘need’ Rust for writing CLIs, when it’s my favorite language for this.
      To some degree, I do just find it ridiculous to launch a whole runtime when the user just wants the --help, but the argument parsing in Rust is also just really nice: https://rust-cli.github.io/book/tutorial/cli-args.html#parsing-cli-arguments-with-clap

    • sepi@piefed.social
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      5 days ago

      Don’t listen to the newbie above. You can use whatever language you are comfy with that works for your situation.

      • kekmacska@lemmy.zip
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        2
        ·
        5 days ago

        i never said you can’t. But high level languages were made for high level programming, and low level for low level programming. If you only know C, sure, you can write a desktop music player, but it will be much harder than just using Java, or even Python, since both of these languages are known about their extensive prewritten libraries. And you have to write much less, which means less room for error. Using a high level language will also benefit you if you decide to port your app to a drasticly different operating system. You can use the same codebase for Python, and for Java too to seamlessly run the program on any other os supported by these languages. In C, you need to adjust a lot of things, i know from experience that Linux C source can compile and run on windows, but it is extremely rare and can introduce bugs. However, you are right that C is highly multifunctional. If you know it, you can write any low level software or desktop app. And it also runs mich faster than any high level intrepeted language. And even if i could be considered a beginner, i actually study software development and testing, so i have an idea what i’m talking about

        • sepi@piefed.social
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          2
          ·
          edit-2
          5 days ago

          “However you are right that…” I did not make the claim you are telling me I am right for making. I think a bot wrote this.