I started reading this with the intention of sharing "all the counter points". Admittedly, not a good way to start reading something. After reading through it though, your points are well thought-out and communicated. So kudos on the great post!
This points that I would make (on both sides) have mostly already been made.
Point: Bash is everywhere.
Counter point: Same with Python 2.7 (for the most part). Precompiled Go binaries can run anywhere.
Point: Bash do almost everything you need in a script.
Counter point: Ruby, Python, Go, etc. can do it better and simpler.
Point: Bash doesn't require external dependancies.
Counter point: openssl, libcurl, etc. are external dependancies, they're just typically already installed. Python, Ruby, etc. can also be written without external dependancies.
I could go on.
As Aaron Cripps mentions in his comment, "I am a strong proponent of using the right tool for the job."
All that said, personally, I'm a huge fan of Bash. With solid programming practices and the use of a linter, it can be clean, concise, portable and readable.
I started reading this with the intention of sharing "all the counter points". Admittedly, not a good way to start reading something. After reading through it though, your points are well thought-out and communicated. So kudos on the great post!
This points that I would make (on both sides) have mostly already been made.
Point: Bash is everywhere.
Counter point: Same with Python 2.7 (for the most part). Precompiled Go binaries can run anywhere.
Point: Bash do almost everything you need in a script.
Counter point: Ruby, Python, Go, etc. can do it better and simpler.
Point: Bash doesn't require external dependancies.
Counter point:
openssl
,libcurl
, etc. are external dependancies, they're just typically already installed. Python, Ruby, etc. can also be written without external dependancies.I could go on.
As Aaron Cripps mentions in his comment, "I am a strong proponent of using the right tool for the job."
All that said, personally, I'm a huge fan of Bash. With solid programming practices and the use of a linter, it can be clean, concise, portable and readable.
Thanks for reading the article thoroughly. 👍🏽