Field (http://openendedgroup.com/field) is a modern programming environment that embraces most (if not all) of these principles.
If it had a few extra features it would make it pretty close to my ideal programming environment: a way of (temporarily) disabling selected code; a unit testing mechanism and a way of extracting selected code to a unit test; a visual code diff tool; git integration (especially branches)
But there are many more smaller projects such as Lubyk, Overtone, LuaAV, Faust, Plask, Impromptu and Fluxus.
I also want to plug NoFlo, which is a 'flow-based programming' library for node.js, which integrates with a visual editor.