Learn Just a Little Awk (2010)
Thinking over this, it just (finally) struck me that awk (and sed, grep, etc.) are basically just <i>libraries</i> (more like DSLs), and the shell is <i>just another scripting language</i> with a REPL/notebook environment.<p>When that's the case, what makes them particularly useful compared to some other language with a uniform syntax and possibly better forms of "glue" -- say Python, or lisp, or whatever? Why not allow people to acquire proficiency in just one language, and use it consistently to communicate with their computer? I don't think ubiquity/portability is a compelling answer, since (for many/most people who care about this) it is relatively easy to install the environment of their choice on their personal computing device. BTW, we must also strive to maintain that flexibility in the next generation of computing devices.<p>As an aside, folks who do like the task-focused nature of shell DSLs might appreciate language-oriented programming with Racket.