|I am aware of at least three bad attempts to fix C++: Java, C# and D. Some would argue that Managed C++ (C++/CLI) is one of these attempts as well, but I just view it as a set of extensions to C++, not a new programming language.
Now, I found Heron[^], and so far I like what I see.
The main problem with Heron is that it is just another one-man project, and it has close to zero chances of ever becoming mainstram. So far the author has released a Heron front end that converts Heron to C++, an editor, and some (pretty poor and incomplete) documentation.
Having said all of that I really like the philosophy of Heron and most of its features:
- No backward compability with C and all the problems that come with it.
- No virtual functions; polymorphism is achieved through interfaces
- All fields are private
- Support for value semantics, real destructors and deterministic finalization
- No built-in garbage collector
- Rich support for meta-programming
- Support for AOP and design-by contract.
It is a pitty that Microsoft decided to copy Java when they designed C#. Something like Heron would be a much better solution, IMHO.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.