> ... > > OO Languages are Class oriented languages > Dynamic Languages are Object oriented languages. > Replace Class with Type and you see what I mean. > > This is all very much IMHO of course but I feel that the Ruby > community has made me evolve a lot away from "Class oriented". Interesting points, especially about the implications of "class-centric" vs. "object-centric" programming. It's true that I rarely ever run into LSP issues, even in Java code. I think it reflects, in part, the general movement OOD towards de-emphasizing inheritance in favor of composition through abstractions, etc. I would rather have the richness of Object and Kernel, even with some LSP issues. As someone else commented, perhaps the real issue is that 5.respond_to?(:dup) returns true yet 5.dup raises, so you have no way of knowing in advance that you shouldn't call dup. > ...