4 ms·
I expect Java was once confused as being object oriented because James Gosling came from a Smalltalk background and Patrick Naughton from an Objective-C backgro
by randomdata 4y ago
I expect Java was once confused as being object oriented because James Gosling came from a Smalltalk background and Patrick Naughton from an Objective-C background and as a result Java takes a lot of inspiration from those two languages. But it misses the part that provides orientation. Java's object model is much closer to C++'s in that regard, and C++ definitely isn't object oriented. The coiner of the term even once literally said so.
Not sure why you think C# and Python are object oriented? They have what could be considered objects, but where does the orienting come into play?
- fckgnad 4y agoThe distinction between smalltalk and other oop languages is not relevant. The majority of the human race thinks of java as oop and is referring to such languages when communicating. Please do the same.
- acdha 4y agoBecause that’s how their creators describe them. C# started as COOL, as in “C-like Object Oriented Language”. Python incorporates that term in descriptions from the 90s and see e.g. http://python-history.blogspot.com/2009/01/introduction-and-overview.html http://python-history.blogspot.com/2009/01/introduction-and-... Both incorporate other paradigms like every other popular language but that doesn’t negate the huge influence OOP had on several generations of languages. If you’re on some weird purity bent where you insist mainstream usage is wrong, well, I can’t stop you but I’ve never seen that result in something insightful or educational.
- randomdata 4y agoLooking over the Python spec again, I can maybe see how you might consider it object oriented. In my experience using Python in practice, I am not sure it is commonly used as an object oriented language, though. Not like the other three languages are. I expect this is more like saying Go is a functional language[1] because it has some functional-inspired features. C# didn't yield the same results. As you suggest, it even changed its name away from containing 'Object Oriented' during the project scope evolution to not confuse people about what it is. I can't find any primitives that would even allow you to write object oriented-style code. That said, I won't completely dismiss C# as being object oriented as it is the language I have the least familiarity with and very well could have overlooked the obvious. As before, I ask where the orienting comes into play. What language features at least come close the oriented paradigm? [1] And, indeed, many do call Go a functional programming language. They're not strictly wrong, but it can make communication hard when you're loose like that. In these sorts of discussions you do have to be a little more precise, otherwise you'll end up talking past each other.