I'm not sure if you're a fan of Dart or not, but it has nine of those now (classes, types, modules, generics, actors, properties, interfaces, abstract classes, and tooling) and more on the way.
Yes I like the direction dart is going in (except would prefer the type system had more actual meaning than just annotations for tooling, but still).
My pipe dream:
- Google implements a VM for dart or equivalent.
- Dart, Java, C#, ActionScript, Python, Ruby, whatever, can compile to this VM.
- VM/bytecode is initially just in chrome, which is fine as far as I am concerned (no problem saying our app works in chrome only). You can transpile to JS if you want to target other browsers.
- Because of native VM implementation in chrome, the best web applications are in chrome. Chrome increases in popularity.
- Other vendors are forced to implement this VM.
- We get to something like a client VM (lets call it CVM) standard for all browsers.
- Developer productivity improves and browser based apps start not sucking so bad in comparison to their native brothers.
Might be worth giving it a try.