It seems there are many 'new' languages around but in reality it seems like most of the popular, non experimental, ones are already in their teens and the truely mainstream are older than most junior programmers. Now I just remembered this obvious fact when I realized even the 'hip' Ruby language is 15 this month (February 1994). While stuff like Haskell, that's in everyones 'to learn' list is even older than that.
Thinking about it the only really new language, in common use, I could think of that's under 10 is C#. But even C# doesn't really have any new features to it, although it has picked up some of the best features of it's predecessors.
So I'm wondering what new languages, and their corresponding new features/ideas are under 10 right now? Anything that's likely to be big 10 years from now? Any new language features to look forward to? Or are we done already???
Apparently there is nothing really new that isn't a hybrid or refinement. Maybe LOLCODE because it's designed to be absurd above all else, but even stuff like Brainf*ck and WhiteSpace are basically ancient stack based assembly languages.
Have we reached the encyclopedic era of programming languages?
The Blue Programming Language shows great potential. Think "Python but easier to use and extend".
No, I am not saying Blue is better than Python, I'm just saying its brewing, easy to use and (already, after only a couple of years) quite stable. Its been growing on me for about a year :)
Ok, we know Code Contracts since Eiffel - so that's 20+ years, and Code Analysis for years and years, but I have never seen such a complete combination of Code Contracts, Code Analysis and Unit Testing as in c# 4.0 and Pex. Maybe I'm wrong and ignorant about other languages and products that did offer that level of functionality years ago - but I surely would call that degree of help towards "bugfree" software a feature. So, is it new?
The E language made light-weight promise pipelining accessible. This ought to be a crucial idea for the upcoming multi-core revolution, as it makes it possible to write code that's easily parallelized, has low-cost dependencies between communicating sub-processes, and sidesteps all the standard problems with managing locks and avoiding deadlock. The main ideas in E have been ported to a variety of other languages. E is part of a long (though somewhat obscure) line of object capability languages, which has some very important contributions to make in software robustness and security. E is just about 10 years old now.
Languages evolve. You don't necessarily need a new language to get a new language feature. As an example, Haskell is not a new language, but it does have many "new" features, including STM.
I'd say C# latest additions like LINQ, extension methods, lambda expressions and the rest are relatively new. If they are not big right now, they will be.
ASP.NET MVC though it is not a language feature is going to be big (I am almost sure), though I know many will never accept it.
The D programming language is just under 10 years old. Its unique features include transitive const (everything reachable from a const object is also const), compile time function evaluation, and the ability to annotate functions as pure and have them statically checked by the compiler for side effects visible outside the function. Also included is a template system that puts C++ templates, Java/C# generics, etc. to shame:
static if
statement, similar to what exists on paper in C++0x, is actually implemented and works.