That’s profoundly untrue. Scripting in bash is an indescribably painful experience.
You have absolutely no idea what version of a binary the user will be running so you’re limited to using only options that have been well established.
I’ve never worked with python but I understand it has at least got some semblance of package management providing assurance that methods you’re calling exist, and I imagine it has some standardised mechanism for handling errors unlike bash.
A simple example is making a GET request to an API and deserializing a JSON response if its successful, handling a timeout if the server can’t be reached or handling the HTTP status code if it’s not a 200 response.
JS, python, Rust, C#, Java etc will all handle that simple scenario with zero effort but in bash it’s a nightmare.
I didn’t say it wasn’t painful, merely convenient for me.
I’m fine sticking with well established. Why would I need package management with a shell script? Bash has as many ways of handling errors as I give it. All this you mention are using functionality I can address in other ways but again, I never claimed it solved everything. I only prefer it due to knowing that if I solved the problem in bash, it stays solved for me.
Show us on the doll where the shell script touched you…
I’m with this… Bash runs in nearly anything without any real good chance of version conflicts.
Why complicate things needlessly?
That’s profoundly untrue. Scripting in bash is an indescribably painful experience.
You have absolutely no idea what version of a binary the user will be running so you’re limited to using only options that have been well established.
I’ve never worked with python but I understand it has at least got some semblance of package management providing assurance that methods you’re calling exist, and I imagine it has some standardised mechanism for handling errors unlike bash.
A simple example is making a GET request to an API and deserializing a JSON response if its successful, handling a timeout if the server can’t be reached or handling the HTTP status code if it’s not a 200 response.
JS, python, Rust, C#, Java etc will all handle that simple scenario with zero effort but in bash it’s a nightmare.
I didn’t say it wasn’t painful, merely convenient for me.
I’m fine sticking with well established. Why would I need package management with a shell script? Bash has as many ways of handling errors as I give it. All this you mention are using functionality I can address in other ways but again, I never claimed it solved everything. I only prefer it due to knowing that if I solved the problem in bash, it stays solved for me.
Show us on the doll where the shell script touched you…
Everywhere.
I believed bash would be enjoyable, I believed we’d have fun. But all it ever gave was pain. I was young and naive.
Hah! Indeed.
I feel it’s the known pain at least. I’ve had python and perl pain as well, and it’s not as comforting a pain to me.
Hello Darkness, my old friend… I’ve come to script with you again…
POSIX and shell functions can get us very far indeed. At least, not everthing’s an object in Bash. :P