What do you envision as the next step in this journey?
Dynamic typing is great for exploratory programming and static typing offers additional correctness guarantees.
Some work has been done in Haskell, Clojure and Racket in this direction (allowing static and dynamic types to co-exist) but I think lots more is possible.
Also, I think that we will start to apply some of the machine learning and statistical pattern recognition techniques that have become so "du jour" recently to programming - enabling development tools to do some really sophisticated things.
* Concurrency support at the language level.
* Immutable data structures becoming the default.
Making Clojure (2/2) and Go (1/2) some up-and-comers. Erlang probably deserves some credit, but I'm not familiar with it.