I think the next great leap in programming will be an object oriented language with support built in for patterns. I think it will be simple and fully dynamic, along the lines of Python.
Unlike Python, and other languages though, the language will support such common patterns as Singleton, Delegate (chain of responsibility), Factory and so forth through the use of keywords, or at most two word constructs. (Try implementing a Singleton in Python, for instance, and you can see how convoluted it is.)
When this happens, the learning of OOP and patterns will go hand in hand and lead to a leap in understanding for the average up and coming programmer.