An Eight-Instruction Turing-Complete Programming Language  
bf is the ungodly creation of Urban Müller, whose goal was apparently to create a Turing-complete language for which he could write the smallest compiler ever, for the Amiga OS 2.0. His compiler was 240 bytes in size. (Though he improved upon this later -- he informed me at one point that he had managed to bring it under 200 bytes.)  
I originally started playing around with bf because of my own interest in writing very small programs for x86 Linux. I also used it as a vehicle for writing a program that created ELF files. Eventually, however, I too succumbed to the Imp of the Perverse and wrote some actual bf programs of my own.  
Another (rather popular) esoteric programming language. This one uses only the characters < > + - . , [ and ]  
Wikipedia entry with example programs.
HQ9+ is a very simple language consisting of four operations: H, Q, 9, and +. These operations can be used to create any of the types of example programs described above. They work as follows:  
H Prints "Hello, world!"  
Q Prints the entire text of the source code file.  
9 Prints the complete canonical lyrics to "99 Bottles of Beer on the Wall"  
+ Increments the accumulator.  
HQ9+ is very simple, but allows you to do some things that are very difficult in other languages.  
Be sure to check out the object-oriented extension, HQ9++.  
[cc: strangely funny]