Originally posted by satyabira pradhan: sir is java 100% object oriented or not
You must check prior to post here this thread..
It's really used again and again.
Java is the only language which supports 99% OOP concepts. The remaining one is just becoz, it also has non object-oriented things like primitive types which they cannot eliminate. But still we have wrapper classes for the respective primitive types.
Java is a pure OOP supporting language.
It's not easy to define what Object-Oriented Programming is, but here are some of its characteristics:
1. Object definitions (classes) usually correspond to relevant real-world objects. 2. The majority of methods are object methods (the kind you invoke on an object) rather than class methods (the kind you just invoke). 3. The language feature most associated with object-oriented programming is inheritance.
..... and so on.... there will be hundred of articles on this topic.....
Why do you think this question is "very important"?
This question is not important at all for people who need to program in Java for their job. Does it matter if Java is "100% object oriented" (whatever that means) or not? No, it doesn't. You just need to know how to use Java, and whether it is called "100% object oriented" or not isn't interesting.
The question is only interesting for academic discussions and it can only be answered if you first agree upon what "100% object oriented" means - there's no common, exact definition of that concept that everybody agrees upon.
Originally posted by Ankur Sharma: Java is the only language which supports 99% OOP concepts.
Huh. No, certainly not.
The remaining one is just becoz, it also has non object-oriented things like primitive types which they cannot eliminate.
They didn't have to introduce primitives. Smalltalk doesn't have primitives, for example.
They explicitely introduced primitives for performance reasons.
Java is a pure OOP supporting language.
If there is a "pure OOP" language at all, it's certainly not Java. And not only because of the existance of primitives.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
I'm not sure how OO Simula was (pretty close I think, since Smalltalk was a failed attempt to reverse engineer Simula) but I don't believe they called it OO. Alan Kay famously gets laughs saying "C++ is not object oriented. I can say that because I made up the term 'object oriented' and C++ is NOT what I had in mind." You'll have to decide if you want to believe that or not.
Originally posted by Stan James: I'm not sure how OO Simula was (pretty close I think, since Smalltalk was a failed attempt to reverse engineer Simula) but I don't believe they called it OO. Alan Kay famously gets laughs saying "C++ is not object oriented. I can say that because I made up the term 'object oriented' and C++ is NOT what I had in mind." You'll have to decide if you want to believe that or not.
...which supports the conjecture that every thread titled "is X object-oriented?" is going to be full of "axiom shift" since the question is not "is Java object-oriented?", but "what is object-oriented in formal terms?". What "Alan Kay had in mind" has never been formally expressed (can it be or is it an ideology that was full of contradiction at the moment of its inception? only externalisation for scrutiny can help determine this) therefore, the community continues to ponder a fruitless question with little meaning beyond "buzzword compliance" or taking advantage of a naive audience of apathetic mass of software developers as I prefer to see it.
Too many people are driven in their choice of tools purely by hype and buzzwords. See the rush towards Ajax now, EJB a few years ago, XML before that, "SOA", "Web Services", "Agile methods", AOP, etc. etc.
Or in other areas, how else to explain the fact that droves queue in line every time a new game computer is set to be released? They've hardly had time to use the previous one, but there's a new one that has some much hyped feature so they MUST have it and the "old" one they bought last month is now no longer good for anything.
I was with Tony right up to the end. It's not fruitless to get someone to think about what OO is and how what does one language or another do that lines up nicely with that. Realizing I miss a feature from A while using B prompts me to learn B better and wonder if what I miss was so good in the first place.
And one day I'm going to take Tony's characterization of the unworthy masses of us that are not him personally.
Joined: Sep 24, 2003
Originally posted by Stan James: And one day I'm going to take Tony's characterization of the unworthy masses of us that are not him personally.
I could rant on about how myself or someone else is more or less ignorant than others, but the overriding incompleteness paradox mandates that I am infinitely ignorant like the rest of us mate