> I'm 97% sure you're going to stick with your own language
Agree with the estimation :)
> but for others seriously give Ruby a look
Of course. Python is not out of the question either. I think it's mostly about alignment of how you think and what is possible to express in the language in a straightforward manner.
> It's so easy and elegant to shell out
That's the area where I think NGS has better facility than pretty much anything else I've seen out there. In NGS, it's the "domain". From the top of my head:
* Short syntax for run-the-command-and-parse-output (currently auto detects JSON but customizable) - like backticks in bash but double-backtick on each side.
* backticks syntax like in bash (but don't strip the last newline)
* Argv facility for constructing command line arguments (if the command is complex)
* Automatic handling of exit codes. Errors throw exceptions and no, not any non-zero is an error.
* ok: option to specify non-error exit codes for particular run of a program
* log: option to log the command being run
More at https://github.com/ngs-lang/ngs/wiki/Use-Cases#use-case-ops-...> Worth noting too is that Ruby also has a fantastic one-liner command line syntax like perl and awk for example.
NGS is somewhat there and somewhat getting there