In that sense, I think OO programming is fine It's a reasonable way to think about functionality and code by emphasizing interfaces (with a lower case i) and messages that are sent between components.