VVVV is a graphical programming environment similar to Max/MSP, Jitter, or PD and Gem, in that you have a number of objects that you connect together with little wires to form applications.
Its PC only and supports directx 9 including pixel/vertex shaders directly within the programme. ie you right click on an shader box and up pops a text editer that you can edit the shader in.
It also supports a very large number of io options midi, rs232, DMX (via a number of different interfaces) network control of patches (and other programmes eg. eyesweb), touch screens etc