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?
I don't think the recent innovation has been inventing new features. It's been making old ideas available (and practical) in mainstream settings. Lambda expressions are a great example of this - old as the hills, but the vast majority of developers won't have encountered them before C# 3 and VB9.
Similarly, two features may have existed independently before, but never in the same language. I wouldn't like to start claiming which combinations are new, but it's worth considering.
Is the nature of .NET generics "new" by the way? I don't know enough computing history to say, but there are clear differences between it and either Java generics (with type erasure) or C++ templates (where the specialization is really a compile-time business as far as I can tell, requiring the source for the template).
Powershell as a language is under 10, of course not the language features.
The Scala programming language is under 10 years old (I believe it was originally released in 2001) and could be claimed to be the first:
OMeta is less than 2 years old and is a language for creating other languages. In my opinion, it's more expressive than languages like Microsoft's upcoming MGrammar.
The coolest idea it has is that you can create languages in an object-oriented fashion (e.g. you could create a mashup language of Ruby and C# grammars).
It's also nice that the syntax looks almost identical to BNF and thus quite readable.
I wrote more about it here.
Lot of "new" language target one or the other well-in-place VM, namely JVM or CLR. It allows to concentrate on design of syntax and "philosophy" more than on implementation (leveraging existing optimized VM, GC, libraries, etc.).
Interestingly, some languages target both platforms, like the Fan Programming Language.
Other languages just translate themselves to another language (usually C), thus relying on some portable or local optimized compiler to do a good job.
I found Haxe interesting because it targets several languages/VM: JavaScript, Flash, NekoVM or even PHP.
As others said, it is hard to find really new concepts, today. Partly because a lot have been explored already, partly because lot of programmers are lazy and confused if a new language doesn't use a familiar syntax (I saw lot of complaints of people in the Lua mailing list, requesting the use of { and } instead of do/end -- see also complaints against JavaFX not being Java...), let alone a new concept!
None, that I've seen.
Sure, there are "new" languages popping up all the time. But I used the scare-quotes because all the examples usually offered are:
For concrete examples:
The work of promoting, popularizing, applying, and refining these (and many other) important ideas is worthwhile. But that doesn't make those uses truly innovative.
Of course, I will be delighted if anyone can provide an example of a truly original concept in programming that didn't exist ten years ago.