why is object oriented programming so hard?
I think the reason OOP is difficult for many is because the tools don't really facilitate it. Computer languages today are an abstraction of what is going on in the computer. ... Also, there's a lot of concepts that make a language object oriented - inheritance, interfaces, polymorphism, composition, etc.