File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java in General and the fly likes Is Java a complete oop language? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Is Java a complete oop language?" Watch "Is Java a complete oop language?" New topic
Author

Is Java a complete oop language?

Ramalingam Nachimuthu
Greenhorn

Joined: Dec 29, 2006
Posts: 1
Hi Frnds,

Is Java a complete object oriented programming language? I have come across an article says that since java have primitives it's not complete oop language which should deal everything as objects.

Thanks..
dinesh Venkatesan
Ranch Hand

Joined: Oct 12, 2006
Posts: 134
Hi Ramalingam,

In my Perspective Java is a complete Object Oriented Language.
As you can see, Java also provides the Class version for the primitives.
e.g., Integer class for int, Double for double, so and so..
And from jdk 1.5 Java started to move towards your view much closer throught the "Autoboxing" concepts.

Why Java has primitives as non-classes in the sense to increase the speed and efficiency as already some critics complaining about Java programs speed they wanted to provide this option.

So we can choose according to our needs.

regards,
dinesh.
Mani Ram
Ranch Hand

Joined: Mar 11, 2002
Posts: 1140
Originally posted by dinesh Venkatesan:
Hi Ramalingam,

In my Perspective Java is a complete Object Oriented Language.
As you can see, Java also provides the Class version for the primitives.
e.g., Integer class for int, Double for double, so and so..
And from jdk 1.5 Java started to move towards your view much closer throught the "Autoboxing" concepts.


Hmm...so will the following code work?


Coming to the original question: Unfortunately there is no right answer for this, because nobody has defined what features a 'complete object oriented programming language' should support.

Java supports many object oriented features, but there are other languages that support more. For example, the following code is perfectly valid in Ruby



I would say, not to worry much about this.


Mani
Quaerendo Invenietis
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11230
    
  16

This question is routinly asked in the Beginners forum, although usually as "pure OO" rather than "complete OO". The general consensus is that the question makes no sense. ask any 5 people what the term "pure" or "complete OO" means, and you're likely to get 10 different answers.

So, until we can all agree on what is meant, there is no answer.

In other words, what is YOUR definition of "complete OO"? If you tell us that, then maybe we can have a discussion. The discussion might turn to why your definition is right/wrong, but that would be more meaningful than anything we can have now - although not by much.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11230
    
  16

Originally posted by Nicholas Jordan:
[QB]
That is an issue I would like to bandy about with you in Meaningless DrivelQB]


So be it.
Edwin Dalorzo
Ranch Hand

Joined: Dec 31, 2004
Posts: 961
This is a very interesting answer taken from Wikipedia


OO languages can be grouped into several broad classes, determined by the extent to which they support all features and functionality of object-orientation and objects: classes, methods, polymorphism, inheritance, and reusability.

* Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Smalltalk, Eiffel, Ruby.
* Languages designed mainly for OO programming, but with some procedural elements. Examples: Java, Python.
* Languages that are historically procedural languages, but have been extended with some OO features. Examples: C++, Fortran 2003, Perl.
* Languages with most of the features of objects (classes, methods, inheritance, reusability), but in a distinctly original, even elegant, form. Examples: Oberon (Oberon-1 or Oberon-2).
* Languages with abstract data type support, but not all features of object-orientation, sometimes called object-based languages. Examples: Modula-2 (with excellent encapsulation and information hiding), Pliant.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Edwin Dalorzo:
This is a very interesting answer taken from Wikipedia



I like that one! Thanks!


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 agree. Here's the link: http://aspose.com/file-tools
 
subject: Is Java a complete oop language?