Been There, Done That
Wesner Moise (via Patrick Logan):
I had a lot of radical ideas that I didn’t mention, mostly involving features from various academic languages that unlikely to come in the next few years. I firmly believe that the new advances in languages will borrow heavily from languages invented three decades ago such as Lisp and Smalltalk. Already, we have seen the advent of garbage collection, closures and iterators in C#. Languages will also become more declarative over time. (According to Alan Kay, computer professionals were smarter back then, because computing was still an esoteric technology. Now, we have a pop culture when colleges are essentially vocational schools for Java.)
+1. One exception, though: I’m not so sure that these are features are so unlikely to become part of the mainstream soon — looking at the recent Ruby hysteria and the continuously increasing mentions of things such as continuations suggest that these might arrive earlier than some may think.
Moise is considerably more optimistic about the future of computer languages than I am. I expect future movement to be away from the abstract.
Take a look at the “hot” languages of today; they’re essentially procedural scripting languages. Programmers LIKE procedural code; procedural code is easy to understand. OO is hard to do right, and if you don’t do it right you lose the benefits. Functional code tends to be completely mind-boggling.
Well, all of the hotter hot new languages — such as Groovy, Python, Ruby — combine procedural with OO and functional features. The fact that all of them support some way to do closures seems to suggest that they are, in fact, introducing more advanced features into the mainstream.
Slightly off topic: There is also a java based web framework called Rife that supports continuations: http://rife.dev.java.net/