I've been thinking a lot about programming languages lately and I wonder what you guys think about what the future of programming will be.
Considering the amount of "new" languages(/dialects) popping up (Clojure) and some languages find new popularity (JS) I wonder how they'll be used.
It feels to me like languages are getting more problem specific, I.E. Haskell, Clojure and other functional languages get most attention for research and heavy calculation while some stuff get specialized for web-usage.
Will the future of programming be like science; where people get extremely specialized on a small set of problems, or will programmers learn multiple languages and use the best one for the problem at hand?
Will game development ever diversify or will it go from C++ to C# to ...
How do you view a future world filled with hundreds or thousands of fantastic programming languages?
I also don't see Haskell and Clojure being particularly specialized. They are very general purpose and suitable for tackling any kind of programming problem - simple to complex, JS on the other hand is a language with a very specific focus.
I don't see the importance of being able to read and understand C/C++ diminishing anytime soon as those languages are intimately tied to our operating systems.
EDIT 2: I added Type Systems above. I think Haskell has shown the power of an expressive type system. However it has it's problems. I look forward to see the distinction between languages w/ strong type systems and those without being abolished. Languages should support turning the type system on and off - see Qi. Type systems also should allow the typing of a much richer set of values - Qi's sequent calculus types is eye-opening in this regard.
EDIT: I'm opinionated about this, but the constant announcement of new languages that simply continue the traditional stateful OO paradigms (perhaps tacking on a couple of syntactic niceties or a crippled static type system) seem like complete dead ends.