Evaldraw allows you quickly write small programs in its C-like language. It supports static variables, enums, arrays, functions and just recently structs.
Your code is re-compiled every time you type a character! Goodbye tedious compile times!
A simple program that draws a gradient with the mouse:
drawsph( mousx, mousy, 10 );
Evaldraw lets you quickly test an idea. Its great for prototyping. There are built-in functions for drawing circles, lines, cones, and some OpenGL primitives (GL_LINES, GL_TRIANGLES, GL_QUADS ). More Info »
In addition to being a programmingenviroment you can evaluate functions in 1D, 2D and 3D!
It even has a buildt in keyboard for playing music. This is so you can write your own instruments as a function of time and amplitude in the 1D mode.
Evaldraw has a lot of great examples and games included.