Shell is indeed very old and it's time for a replacement, but it's not there yet.
Oilshell might get there eventually or at least spark interest in this area.
Shell is indeed very old and it's time for a replacement, but it's not there yet.
Oilshell might get there eventually or at least spark interest in this area.
Solved. https://github.com/ngs-lang/ngs
I'm the author. Frustrated with exactly this situation I created Next Generation Shell. It's a "proper programming language" on one hand but domain-specific for "DevOps"y scripting on another. So sane syntax, data structures, error handling, multiple dispatch on one hand but also syntax for running external programs, pipes and redirects.
You are welcome!
You cherry-picked the one thing that shell script is somewhat better at than other languages (not even really needed for this task). Meanwhile the article uses shell for both making HTTP requests and mangling JSON data, both of which are easy in all modern languages, and extremely painful in shell.
> (ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
https://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s...
But what if it's not? It's perfectly easy to write code to do the same thing in a programming language without invoking any other executables, let alone piping the output of one into the input of another. So the claim that this functionality is what makes Unix and shell scripting effective is vacuous. They are good at doing something which would not be necessary if one was not using them.