PureData (aka Pd) is a visual programming environment for music and video DSP written largely by Miller Puckette. It is an evolution on traditional MusicN type computer synthesis and composition tools but improves on these by offering an easy and quick to use graphical frontend. In PureData "atoms" are the basic DSP building blocks which are connected together using signal links. Signals may be blocks of audio, video frames or control commands such as "bangs" or simply regular data types like floats, ints, lists etc.
PureData is open source and highly extensible, and as such Millers initial "core" functions are now quite dwarfed by community contributions to the pool of "externals". These include synthesis/analysis tools, GUI components like meters, sliders and dials and API interfaces to system resources, HID devices and networking.
PureData is popular amongst VJs, animators, sound designers and musicians for its flexibility and artistic scope. However PureData is a fully fledged signal programming environment and has applications in hardware/software development, process modelling and rapid prototyping besides its original conception as a music tool.