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

      I know there’s a lot of downvotes because there are people reading this as hate toward Python. On one hand, one can make the case that it is overused and this doesn’t bold well for those that simply can never like it’s syntax. On the other hand, Python is perfect for small scripts that isn’t tailored for a Domain or just quick codes.

    • grue@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      If I have to install it myself instead of being able to assume it’s on the system by default, that’s a Problem.

  • Diplomjodler@feddit.de
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    Python is the second best language for everything. Having one language that does it all is better than learning several that might do it a little bit better.

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

      Speed is a serious problem in Python though. Python has its use cases, and so do other languages. Things would not end well if we started using Python for everything.

      • Diplomjodler@feddit.de
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        edit-2
        1 year ago

        If I wanted to write a 3D game engine, I wouldn’t use Python either. But there’s zero chance of me ever doing that. For 90% of things 90% of people do, Python works just fine. And the performance thing is actively being worked on and getting better all the time.

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

        This might be an unpopular opinion but python’s speed wouldn’t even be an issue if it was 5x slower than it is now.

        Python is a language designed for write-time performance, not runtime performance.

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

      Python is the best “glue” language I’ve ever used. When you want to chain together your program’s high-level logic and all of the loops happen inside lower-level languages like Rust, Go, Zig, D or C, Python’s performance is perfectly adequate and it’s so clear and concise it reads like pseudocode.

  • pulaskiwasright@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    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
      2
      ·
      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.

  • Kogasa@programming.dev
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    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
      1
      ·
      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.

    • CoderKat@lemm.ee
      link
      fedilink
      English
      arrow-up
      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
        0
        arrow-down
        1
        ·
        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.