From Dieter Rams, ten principles for good design.
HXA just published A comment adding to Dijkstra on natural language programming:
Software must always be an ‘un-natural language’ because its (ultimate, essential) purpose is different (and particular): it is not communication, it is design. ...I'll have to come back to this topic at another time, for now take it as a fine weekend inspiration.
When you look at software, what you see is not a language, it is a machine.
[Update: Of course, Lev Manovich comes to mind immediately. From his Info-aesthetics:
Never before a single machine was an engine of economy -- AND the main tool for representation.
[Further riffing off on this idea reveals that our major platform for delivering software is called a (markup) language.]]