JFunge
JFunge is a command-line interpreter for the Befunge language, written in Java.
Since the above sentence probably caused more questions than it answered, I'll start by explaining what is Befunge.
The following is a quote from the Wikipedia article for Befunge:
Befunge is a stack-based, reflective, esoteric programming language. It differs from conventional languages in that programs are arranged on a two-dimensional grid. "Arrow" instructions direct the control flow to the left, right, up or down, and loops are constructed by sending the control flow in a circle.