Colocando lenha na fogueira da velha disucssão C++ ou Java (não versus - ou mesmo) achei esse comentário do Charles Armstrong muito muito pertinente …
Pra galera refletir:
Byte Code Alteration vs Multiple Inheritance
One idea appearing in various places is post-compilation Byte Code Alteration. Two examples are in Aspect Orientated Programming and in Java Data Objects.The idea is that by applying modifications to your byte code after you have compiled it you can do things to lots of classes without cluttering your code.
It seems to me that you could achieve a similiar effect with multiple inheritance. For example all your classes could extend a Security Policy class as well as their domain based inheritance. Maybe you would need a few of the other features of C++ too (pointers to methods etc.).
What is my point? I guess a slight concern is that in having removed some of the bug inducing features of C++ we have created the need for a new bug inducing approach. Modifying your byte code after you have compiled it by definition bypasses compile time checking. Used with care the benefits will outweigh the risks, but that could be said about all the features of C++ that Java axed.
http://www.jroller.com/page/c_armstrong/20031118#byte_code_alteration_vs_multiple

