Quote: "I can write fully "OOP-compliant" assembly language code for that matter"
FINALLY Someone else with a clue!!!!
Indie - I too dislike the various "definitions" of OOP - in that there is not definitive "what is and what isn't" spec..
Not that we need one.. but when you're trying to learn all that stuff.. it gets confusing!
I think you'll find that "oop" techniques, as was
alluded to, can be used for good or evil.
sometimes coding oop for the sake of being oop is silly, other times its the cat's meow.. depends on what you want to do, your goals with your code, plans for it... etc.
Now to answer you're original post, I think C++ pretty much fits the "oop" spec if there was one... same for free pascal. Many here believe the .Net Languages are also, and in many ways they are.. but the inheritance is capped.. you can get around that .. but you need to jump through a couple hoops to make "an interface".
(And like JinZai said more or less... You can utilize OOP programming techniques even in languages that don't natively "support it". Now for the assembly thing.. that language doesn't "support it" but you can 100% MAKE OOP code because of the flexibility assembly offers with pointers etc. In fact... In Assembly language, you can literally have inheritance, objects, classes, and so much more.. unfortunately... it takes a long time to get a working code lib going if you start from scratch...