Looking for opinions here. Is bash simply popular because it is always available and so there's nothing inherent that makes it popular?
Or, is there something special that it has? Writing a bash script seems very different to the rest of the programming I do. And not often in a better way.
What are the most interesting, alternatives for simple scripts.
It is very much worth a read.
Besides the idea that command line programs are written primarily for the purpose of being composable, and that they follow a philosophy that makes them easy to work together, I think there are a few other pieces of secret sauce.
The lack of boilerplate is a major advantage. Low boilerplate bash pipes means input/output to/from another program is trivial. Exit code behavior as well as error behavior (output to stderr) further enhances the ease of composing individual tools to do something that would take a while to write a script to do.
The power of bash is that just about anything is trivial if it has the form:
Bash can be an optimal tool for just about anything that does not require "joining" different types of data or "branching" behavior.Once you invoke branching, joining, or complex data structures/formats, bash is no longer the right tool and python is probably the right one (although if ruby had come first, it is actually probably better for relatively simple scripting).