I feel the two languages are not enough to rapid build complex but high performance native applications.
I want a language which includes:
- Compile time type check.
- Memory pointer, but no code pointer.
- A
VMkind design inside, but not need to be run on VM (like Java). - Auto memory management.
- OOP, but not to be pure OOP.
- Generics.
- Reflective operations.
- Open community.
And one more thing: .NET is always excluded by no reason.
It may tricky to add auto memory management in C++, but it’s not so easy to add reflect support.
It’s even better if the language can do:
- Closure
- Tail recursion
D, perhaps.
I would also suggest looking at Scala or C# (there is Mono, fwiw), but they miss out on the “native target” bit. For most applications they will likely have the required “high performance” — but it depends upon specific application and functional requirements. (In any case, I would use either of those languages above Java without a second of doubt 🙂