Languages for Text Processing

The other day, Xah Lee, as he is wont to do, provoked a spirited debate on Mastodon about the usefulness of Emacs Lisp for text processing . Lee wrote that although he has used Elisp for text processing for many years, he’s lately come to believe that that was a mistake.

His major complaints appear to be Elisp is much slower than, say, Python or Perl and that its regular expression system has a nonstandard syntax that, among other things, requires too much escaping. Lee is undoubtably right; those are shortcomings with Elisp. The question is how much they matter. I’m inclined to agree with Vasilij Schneidermann that they don’t matter. That’s just my opinion, of course, and no more valid than Lee’s that they do matter.

Regardless, that discussion inspired a post over on the Emacs subreddit by akirakom that asks what languages people use for text processing . Most respondents said that their tool of first choice was Emacs—it is the Emacs subreddit after all—but they had a list of other tools ordered by difficulty and power of each tool. The lists were typically something like (Emacs bash sed awk Python C). Some preferred Perl to Python and awk and others substituted some other compiled language for C.

I pretty much agree with the above list except that I would substitute Scheme for Python. Really, though, I almost always just use Emacs and Elisp.