Check out the Processing project!
The website describes it as “[…] an open source programming language and environment for people who want to program images, animation, and interactions.” The things that have been done with it are truly amazing! Check out the exhibition or look at Daniel Shiffman‘s projects!