One major trend that's omitted is the coming important of concurrent/multicore programming. It has become clear for many that computers aren't getting that much faster but they're getting more and more core's. To be be able to utilize that power you need to start code from the ground up to take advantage of multithreading.
On the .Net side Microsoft seems very aware of this and has rolled out a number of new techologies and tool support, things like Parallel.net, PLINQ, Reactive Framework and most recently Async. F# is by nature of being a functional language very suited for parallel processing.
No doubt other frameworks and languages will soon follow.