3 ms·
I don't think it matters too much that java has non-objects in the language. That might be a symptom of a non-oo nature, but only the most anal would say that'
by ludicast 16y ago
I don't think it matters too much that java has non-objects in the language. That might be a symptom of a non-oo nature, but only the most anal would say that's proof it's not an oo language. However I still don't think java is an oo language.
I would argue it is a class-oriented language. Once you run your java program, its classes are somewhat set in stone. Yes you can make some changes at runtime, but for the most part an object is an instance of a class that does a certain thing and that's an end on it.
On the other hand, javascript, ruby and perl (iirc) all are more truely object-oriented in that a object's class is just part of the story. It is expected that methods will be added as needed.
With ruby the everything-is-an-object philosophy is taken to an extreme, and classes and modules (a cross between namespaces, interfaces and classes) are objects themselves. Not kinda-objects, but real objects capable of doing their own things.
And, in javascript your objects are created first and then afterwards given a class or prototype. Crazy stuff. Not a fan of js myself, but I do admire seeing a new form of oo.