Someone asked me if Java was a pure OOL (Object Oriented Language) or not. Without thinking my answer was yes, “thanks to the incompetent university I went to for 4 years”. But I looked it up just to make sure and I found that there are always heated discussions about that subject specifically. for Example Wikipedia encyclopedia lists java within the OOL languages, but they classify it as “Languages designed mainly for OO programming, but with some procedural elements” – in other words, not pure -.
On FaqFarm they say, and I quote “Java is a pure object oriented, because without class we cannot write any program that is all the data and methods are available within the class,No data and methods available outside the class(That’s why Java doesn’t allow Global Declaration).All the class members are belongs to objects that’s why pure object oriented.”
On the other hand, I found on some British school of computing the following article “Oh, by the way, Java is Object Oriented…” which insists on java being OOL but I didn’t understand if they think it’s pure or not (I actually didn’t have the time to read all of the article).
But I consider Java to be the closest of all non-pure OOLs to being pure, at least it doesn’t support pointers like C# or modules like VB.NET. And now I think the language doesn’t have to be pure OOL to be the best, because I looked up examples for pure OOLs and I got Smalltalk, Eiffel and Ruby. I’ve never heard of them before, but I know for sure they are not that common, maybe educational purposes.
It was shocking to me but I’m recovering and I still love Java and consider it the best and like I always say: “Grow up and get Java“