IM and the Command Line

O’Reilly publishing tools maven Andrew Savikas wrote to me in email: “This afternoon as I was alternating between some shell work and an IM conversation, it occurred to me that using the command line is kind of like IMing with your computer — stimulus/response, abstruse notation, and occasional (and sometimes disastrous) misinterpretations of intention.”

How right he is. I’ve often used a variation of this analogy for programming. What is programming, after all, but speech with a computer? Programming languages like Java and C# are especially good for formal speech, while scripting languages like Perl, Python and Ruby are good at informal speech as well. Almost all of the advances in software can really be thought of as ways of making it easier to talk to our computers. The best languages, IMO, are those that allow for “baby talk” as well as sophisticated formal speech. Larry Wall made this point years ago, in a paper called Natural Language Principles in Perl.

Specialized little languages (Andrew’s “IM with my computer”) are a particularly interesting subset. Nat wrote about Kevin Lenzo’s fabulous purl IRC chatbot the other day. A more recent example is Make’s AIM bot, which actually does use IM to issue commands to a program…