For parallelism, I have lost hope that there will be much progress in the compiler automagically parallelizing things like for loops in C++. There's some cool stuff with SSE etc, but it all feels fairly ineffectual to me. Probably people will just move to a new language like Go or Haskell/Scala and just use C for glue code. I could maybe see something like Groovy for low level languages though, where it makes global variables illegal and does some other things to eliminate side effects and then compiles to, say, Go for the 10/100/1000x speedups we'd expect for things like graphics or matrix math.