Writing Safe Shell Scripts (2019)
Hi. Author of Next Generation Shell here.<p>Here is my take on bash vs Python and friends. I am frustrated by both.<p>bash - domain specific language and huge library (CLI utilities) and lets you get the job done but not a language I would like to use (syntax, error handling, very limited structured data support).<p>Python - okayish as a language but doing domain specific things (working with files and processes) is so much more verbose than bash.<p>My solution in NGS - have a <i>high level, modern</i> language with the typical goodies like ... exceptions (wow, completely new concept!) and the language is still domain specific. Working with processes for example has it's own syntax and is much more concise and straightforward (stole bits from bash).<p>Right now the project has the language, which is useful enough to write scripts (which we do at work). Regarding contribution to the project, my idea is that as much as possible should be in NGS language (as opposed to the lower level C). The UI will be implemented completely in NGS, allowing contributing to the project using the <i>same language</i> you are writing your scripts in.<p><a href="https://github.com/ngs-lang/ngs" rel="nofollow">https://github.com/ngs-lang/ngs</a><p>As a side note, while the UI is not there yet, I do plans for it which include interaction with objects on the screen as opposed to current "here is your dump of text" situation... and in general be more considerate of the user.<p><a href="https://github.com/ngs-lang/ngs/wiki/UI-Design" rel="nofollow">https://github.com/ngs-lang/ngs/wiki/UI-Design</a>