When I showed him a related tool that could hunt out and tag terms of interest using the same concept (phone numbers, email addresses, etc.) it completely changed his life. He ended up using those two little kernels of wisdom to mostly automate a previously entirely manual research process and now leads a team of 20 researchers in his field.
He's not a programmer or even a scripter, but he uses regexes pretty much every day in his work.
But for what it's worth, I think a working knowledge of the gnu utilities is worth more than most programming languages to most people. (If you're on a system that supports *nix utilities.)
Ideally it's not an either or thing.
http://linuxcommand.org/tlcl.php
The best way I know short of immersing yourself in a community of *nix geeks for a long period of time.
If you were looking for something more grandmother or time friendly, I'm afraid I can't help you.
With my comment, I wasn’t trying to contradict your original comment. I was just trying to reword the concepts to be more specific. “Everyone can script” was meant to be a more specific version of “Everyone can program” that might convey the concept better to those who shared or at least understood my definition of “script”.
By that, I meant that a “script” is a specific type of program. “Scripting” is a subset of “programming”. Any type of program is a “program”. To be a “script”, a program must be for an ad hoc (one-time) task, and small relative to other programs. At least, according to my idea of the definition – though it is unclear what the “official” definition is.
Scripting, as I learned, is being able control a host program in not-so-trivial ways with an embedded programming language, where the host isn't really dedicated to running programs. Consider Lua embedded in World of Warcraft, JavaScript embedded in the browser or even mod_PHP for Apache.
It's all still programming though.
Historically there was a meaningful distinction between scripting and programming: A script is interpreted, so you trade off slow execution for no compilation. A program is compiled, so you get fast execution but slow compilation.
Today (as in 2001) both compilation and execution is so fast, for most use cases it doesn't really matter which you do. JITs further washes out the distinction.