Linguists recognize that speech occurs in different modes or registers, which serve different purposes:
What strikes me in looking at this list is that most person-to-person speech is "casual" or "consultative", but programming is always "formal" (new code) or "ritualized" (boilerplate) because we don't share history with our computers and they can't understand what we're implying, only what we're saying. It's easy to create aliases, macros, and other shortcuts, or to mimic the grammar of natural language (think SQL or Perl), but when we do that we are actually just creating mis-matched speech acts: what looks casual to use is interpreted as formal by our "listener".
I wonder to what extent this mis-match fosters and nurtures Roy Pea's "superbug": the belief that the computer is like an intelligent human trying to discern our intentions. And I wonder what a genuinely casual programming language would look like—my first thougth is a horrible mash-up of every bad auto-complete tool I've ever been subjected to, but surely there has to be something better.comments powered by Disqus