I saw this great article over at codeproject: http://www.codeproject.com/gen/design/theWrongObject.asp. Here is one part I found to be particularly on point: "Now, the diagram above is a bit
silly, but I think it's also illustrative of the evolution in both
hardware and software architectures. The last column, "Aspect
Computing", is something I have totally invented, but it seems to me
that as distributed services develop and components/component
communication is standardized, a significant amount of "programming"
will simply be gluing together disparate components, handling events,
and coordinating the flow of data between them." I totally agree with this and I would say we are almost there. With mashups becoming ever more popular...