| I don't know if it's best, but I took on OOP in little bites: - ECMAScript 5 Mixins, scopes, instance variables, and instantiation. As a bonus, but not OOP, callbacks. It's a straight-forward language that's available abundance. - Python For it's class inheritance being easy to navigate. Instance variables, instantiation, method resolution order (MRO), mixins. - C++ This is the hardest language I can think of. It does everything OOP, and more, including allowing for a lot of stuff that's not legible. Despite that, it's a solid language. Something that goes great with constraining the many features of C++ are https://google.github.io/styleguide/cppguide.html or https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines. I think ES5 and Python are used very often and in terms of bang for the buck, give they cover a lot of the bread and butter OOP concepts. |