• kekmacska
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    5 hours 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)

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

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

      • kekmacska
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 hours 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