-
Notifications
You must be signed in to change notification settings - Fork 31
Why gherkin?
Despite incredible advances in programming language technology, we programmers and system administrators find ourselves still writing nontrivial shell scripts. We have to, because the closest thing to a programming language to be found universally across fresh *nix installations is Bash.
Bash, while it has served us well as an interactive command interpreter since 1977, was never conceived as a way to read, write, or share large programs. Unfortunately, because of its unique status as "the one dependency we can count on", Bash must be used regularly by most people in the *nix world to write nontrivial programs to do things like install better programming languages.
Lisp dialects, on the other hand, are used regularly to write, read, and share programs large and small. Lisp semantics are vastly simpler than Bash's, and the unique syntax of Lisp amenes itself to simple parsing and code re-use via Lisp macros.
Like most Bash scripts, gherkin itself and programs written in it have a dependency only on Bash and a handful of ubiquitous utilities. Our hope for gherkin is that it can be used to write modular programs, in a sane language, on most *nix platforms with no dependencies beyond those of the average Bash script.