this post was submitted on 06 Aug 2023
605 points (97.3% liked)
Programmer Humor
19551 readers
664 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Things that could have been done in bash is python’s best usecase. And bash sucks for scripting. Why not python?
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.
Why not something that is completely redesigned from the ground up:
That looks really elegant. I think I'm gonna give it a try. Thanks a lot for the recommendation!
have you ever tried to recreate a simple shell pipeline in Python
If we’re talking about 5 like script, then sure. Just use bash. But python is much better long term, in my experience, for scripts any bigger than that.
Xonsh
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.
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.