I feel like I have reached a peak, I understand and use Inheritance, Polymorphism, Abstraction, Encapsulation and Parametric Inheritance (Generics) every day. They solve my computing needs but I very often I can think of better approaches to a problem and wish the compiler and CLI were not without limits. Generic covariance and contra-variance I have covered before so I'll jump right into something else I'd like to see. Meta Objects and Protocols - Jeremy mentioned this before and I agree but rather than bending to my will the objects defining interface I also want to work with the object systems very own protocol interface, I want MOP... MOP (Meta Object Protocols) the Protocols of the OOP system, how Inheritance, Polymorphism, Abstraction, Encapsulation are all defined and expressed in your language. With MOP you can change all of those, picking on inheritance, how and what you inherit and if you so wish change that. So why change that? Suppose I want to have multiple class inheritance?
Read More...