The Rust Programming Language:
http://www.rust-lang.org/QuoteRust is a curly-brace, block-structured expression language. It visually resembles the C language family, but differs significantly in syntactic and semantic details. Its design is oriented toward concerns of "programming in the large", that is, of creating and maintaining boundaries - both abstract and operational - that preserve large-system integrity, availability and concurrency.It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles. Rust also supports generic programming and metaprogramming, in both static and dynamic styles.
http://en.wikipedia.org/wiki/Rust_(prog ... uage)While the work on it has started a few years ago already, it's currently at the preview release status (that being said, it already supports type classes, for instance -- i.e., what we call "concepts" in C++). It may be a good time for a general / placeholder topic :-)This makes it quite interesting:Removing Garbage Collection From the Rust LanguageAt the same time it has a strong focus on memory safety *and* data-race freedom (some of the ideas it draws upon, like substructural typing (linear typing in particular), may well turn out to be the modern replacements for / subsume memory-only GC):On the Connection Between Memory Management and Data-race FreedomQuoteThis observation has motivated a lot of the research into ownership types and linear types, research which Rust draws on. Of other recent non-research languages, the only other that I know which takes the approach of controlling aliasing is Parasail. Not coincidentally, I would argue, both Rust and Parasail guarantee data-race freedom, while most languages do not.The equivalents of C++11's smart pointers are integrated into the core language (no calls to raw "new" by mistake; in addition, opt-in GC-ed managed pointers[*] are also present -- although, and that's the difference from, say, D, the goal is to keep the standard library completely GC-free):An Overview of Memory Management in RustThe Rust Language Tutorial[PDF] Rust: A Friendly Introduction[*] another difference from certain managed languages that profess "memory safety" while in fact suffering from nullable pointers: Rust's (managed) @-pointers can't be null.