StÈfan Sinclair has blogged in Visualizing Regular Expressions a project by Oliver Steele that animates regular expressions (those cryptic things you write when searching texts for patterns.) Regular expressions and pattern matching have a long and interesting history that has yet to be written. Two points:
- Steve Ramsay has a nice page on regular expressions where he provides a short history,
Regular expressions trace back to the work of an American mathematician by the name of Stephen Kleene (one of the most influential figures in the development of theoretical computer science) who developed regular expressions as a notation for describing what he called “the algebra of regular sets.” His work eventually found its way into some early efforts with computational search algorithms, and from there to some of the earliest text-manipulation tools on the Unix platform (including ed and grep). In the context of computer searches, the “*” is formally known as a “Kleene star.”
- The Haubens in the online archive of Netizens describe the development of Grep as the one of the first tools to demonstrate the power of piping in Unix,
Grep is listed in the Manual for Version 4 Unix which is dated November, 1973. The date given for the creation of grep is March 3, 1973, following the creation of pipes.(43) The creation of grep, McIlroy explains, was followed by the invention of other special purpose software programs that could be used as tools.
Regular expression (regex) matching since Grep shows up as a language within most other languages (like Ruby and Java) for handling strings. It is the archetype of the software tool – a utility within a larger environment or application. This is something I commented on in MIMes and MeRMAids.