Mar 20

Taking scripting seriously

I just finished a training meeting about good habits for scripting. I've seen plenty of "Scripting Intro" pages but I've been a bit disappointed to see that many of them head straight into Bash syntax nuances without discussing design, testing, or usability. At some level this seems to be due to the fact that shell-scripting and, to a lesser extent, non-compiled languages isn't considered Real Programming™ — darkly amusing when you consider how much of the important data in the world passes through a script at some point.

Rather than reinvent the syntax-guide wheel, I wanted to spend more of my time discussing good software engineering: architecture, testing, logging, and documentation. It's a fairly language-agnostic guide with examples in bash, Perl and Python and tries to encourage using smarter tools rather collecting cool-but-unmaintainable shell hacks. I'm planning to follow up with occasional examples discussing specific programs and the problems which they solve — I'd appreciate any feedback you might have.

Taking Scripting Seriously