Hee—Jeremy T. and Jay L. point to the Shakespeare Programming Language. (Link may not be working this morning, unfortunately, but it appears to have been around for a while so I'm hoping it'll be back online later.) The idea is that you write code that reads sorta kinda vaguely like Shakespearean dialogue, and it gets automatically translated into the C programming language, which you can then compile and run.
It's not actually a useful language—the GCC front ends page notes that SPL has "the expressiveness of BASIC and [the] user-friendliness of assembly language"—but it's kinda fun to read, at least in small doses.
Character names are variables; characters assign values to each other by saying lines that begin with "You are. . . ." Nouns are constants, with a value of either 1 or -1 (depending on whether they represent good or bad things; kings (e.g.) are good, while pigs are bad), and each adjective multiplies its noun by 2. So you can, for instance, assign a value of 8 to the character Romeo with this line:
Juliet: You are as bold as a mighty handsome brave king.
Unfortunately, to get numbers other than powers of 2, you have to use the language's math operations, which use math phrasing like "the sum of" and "the square of." I'd rather see less obvious operations (like "and" for addition, and maybe a phrase using the word "less" for subtraction).
The approach to generating output is particularly goofy. (Note to non-programmers: if you get bored reading this paragraph, just skip ahead to the next paragraph.) In one of the sample programs, I couldn't figure out why Romeo (assigned a value of 100 at the start) kept taking his own square root, printing the result, and then squaring himself. Why would you print out "10" in every iteration of a loop? (Loops, by the way, are created using lines like "Am I better than you? If not, let us proceed to Scene III.") It turns out there are two kinds of printing: one ("Open your heart") prints a number; the other ("Speak your mind") prints an ASCII value. The ASCII character with the value 10 is the newline character; displaying it (in some operating systems) moves to the next line of text (like pressing Return in a word processor). So because the author knew that Romeo was set to 100, the easiest way to display a newline was to take the square root of Romeo and display it as an ASCII character, then square Romeo again. Needless to say, this is not exactly the most elegant (nor the most cross-platform compatible) approach to displaying output ever devised.
But the idea is cute, and suggests all sorts of other possibilities. Chaucer Programming Language? (Among other things, code must be written in iambic pentameter.) Austen Programming Language? Tolkien Programming Language? Mamet Programming Language? (u = 1; fuck(u);) Rand Programming Language? (A=A;) Other suggestions welcome.