• Dasnap@lemmy.world
    link
    fedilink
    arrow-up
    22
    ·
    edit-2
    1 year ago

    Anything I can do in Shell I will do in Shell and yes I am a devops engineer thanks for asking.

  • Haus@kbin.social
    link
    fedilink
    arrow-up
    10
    arrow-down
    1
    ·
    edit-2
    1 year ago

    MFW I’m using sh variant #7923 and trying to write a for loop.

    On that other site, I compared it to being a lifelong English-speaking resident of Chicago and being unable to order a pizza in Indianapolis without a phrasebook.

  • Eochaid@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    The only validation you should expect and need is self-validation.

    Your work is absolutely valid and important. Your efforts are absolutely appreciated and worthwhile. But people are stuck in their own heads and work and stress and concerns and desires and validation loops and it takes actual work to break out of that to not only offer appreciation but to even realize that they need to offer it.

    And for that reason, you should also really appreciate anyone that validates you.

  • pulaskiwasright@lemmy.ml
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    2
    ·
    1 year ago

    Things that could have been done in bash is python’s best usecase. And bash sucks for scripting. Why not python?

    • entropicdrift@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      15
      ·
      edit-2
      1 year ago

      There are many cases where bash/shell is better than Python. For one, any time you’re just stringing together 2-4 existing shell tools, bash has unbeatable speed since it’s all running in C. Plus, you should probably learn the tools anyways to handle CLI stuff on a day-to-day level, so the knowledge is reusable and becomes very intuitive to compose into some crazy one-liner piped chains of commands. If I just want to loop over a set of directories and do a couple chained CLI commands on each directory, this is the way I go.

      That said, in cases where you’re doing something very custom, any time you’re doing something that can’t be simply described as a chain of CLI tool transformations, and any time you want to maintain a global state across a complex set of operations outside of a pipeline, I agree that Python is generally a more robust solution with much easier maintainability.

    • dukk@programming.dev
      link
      fedilink
      arrow-up
      3
      arrow-down
      9
      ·
      1 year ago

      Not really true. Python was created for, and is still best used for data science. It’s user-friendliness made it a first for many inexperienced programmers too, and it started to be used for way more than it was initially intended. I’m not saying it’s bad at everything else, but there’s most certainly better tools for the job.

      • pulaskiwasright@lemmy.ml
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        2
        ·
        1 year ago

        I won’t argue with what it was created for, but I disagree that it’s best usecase isn’t as a bash replacement. That’s the only spot I’ve used and liked it.

  • Legendsofanus@lemmy.world
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    1 year ago

    I know a bit of HTML so I just started learning Python. It’s fairly easy and fun, haven’t made anything real yet tho

  • Reptorian@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I’m using G’MIC for raster-graphic image-processing, but I can do other things in it too with ease. I feel this post so much.

  • Kogasa@programming.dev
    link
    fedilink
    arrow-up
    10
    arrow-down
    11
    ·
    edit-2
    1 year ago

    I can’t think of a single reason to use bash over Python. Anything you can do in bash can be done in pure Python. Unless you’re working in some embedded environment it’s a non-issue to install a Python interpreter (you certainly already have one). I would only use sh/bash for packages I’m distributing to avoid the external dependency, and then only if it’s a relatively simple script.

    • bort@lemmy.sdf.org
      link
      fedilink
      arrow-up
      16
      ·
      1 year ago

      I know whatever environment I run my shell script in has sh, I can’t rely on (the right version of) python being there.

        • Chunk@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          1 year ago

          Because you could be on another machine that doesn’t have Python 3.X it only has 3.X-1. or you could write code for Python 3.12 and then four years later no one has 3.12 anymore.

          Sometimes you need to download packages from pip but pip might not be available or you may be hitting your company’s internal pip mirror.

          • Kogasa@programming.dev
            link
            fedilink
            arrow-up
            2
            arrow-down
            4
            ·
            1 year ago

            How often are you writing scripts that accidentally require a specific minor version of Python 3 to run? If you have dependencies, 1) you’re no longer scripting, and 2) you need to manage your runtime environment anyway.

            • RubberDucky@programming.dev
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Runtime environments can change often, if you need to install your application on a ton of PC’s you don’t want to install python version 3.X on all of those instead you could just compile it into a native binary, pip is the most unsafe hell

              • Kogasa@programming.dev
                link
                fedilink
                arrow-up
                1
                arrow-down
                1
                ·
                1 year ago

                If you’re compiling a native binary you DEFINITELY aren’t in scripting territory anymore.

    • CoderKat@lemm.ee
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      1 year ago

      Python is superior for string anything (parsing, searching, manipulating). But Bash is much simpler for running existing CLI tools. Plus you should already be using Bash as a simple terminal language already, so wrapping what you’re used to into a simple script flows naturally.

      Eg, if I have some admin tool for updating a user thingamajig, a common scripting need is just running that tool for every user in a file (or the output of another command). The string manipulation that often requires is annoying in bash, but running the commands is easier than Python.

      • Kogasa@programming.dev
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        1 year ago

        If what you’re doing is essentially a few shell commands, then you may as well put it into a script. If you’re talking about how “elegant” your shell scripts are and comparing them to Python, you’re probably wrong and should be using Python.