Is the java a pure object oriented language. If not, please give me reasons. and what are native libraries.
Hoping quick reply...
native libraries are libraries that are native to a language. The java library is one, the C++ standard and template libraries are another. Something to note about them, they are not always the best solution to a specific problem, so going outside of them for things like data structures, or even writing your own in necessary. The generic nature of them makes them useful but usually at a performance cost.
It is a fairly rare occurence that you need something else, but that fact and the fact that learning how to use libraries does not a programmer make.
�Re-use of previous work: using implementation inheritance and object composition.
�Real mapping to the problem domain: Objects map to real world and represent vehicles, customers, products etc: with encapsulation.
�Modular Architecture: Objects, systems, frameworks etc are the building blocks of larger systems.
Also, you can complement it with AOP (Aspect Oriented Programming). Supports
inheritance, encapsulation and polymorphism. That is good enough for me to build build applications
with increased quality and reduced development time. If 90% of the new application consists of proven existing components then only the remaining 10% of the code have to be tested from scratch. In theory anyway.
Originally posted by Robert Hill:
People may argue about specifics about what that term means, but it is very hard to say java is. The reason is simple, there are data types that are not objects(primitives), and if you really wanted to, you never have to use objects.
In fact, Object is not even a type in Java.
Hopefully the question "What are native libraries?" was answered to your satisfaction. My answer would be:
"Native Libraries" are functions written in another language, and executed
outside of the JVM. Native libraries are usually written in C or C++,
and usually do something that would be inefficient - or impossible -
to do directly in Java. Native functions are invoked using "JNI"
(Java Native Interface).
[ March 01, 2006: Message edited by: Paul Santa Maria ]
I think the Java/OO community lost a lot of meaning when it moved away from the "message" vocabulary. I liked reading "1 + 2" as sending the message "+ 2" to the "1" object. It seems to encourage me to think about "ask, don't tell" designs.
"Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves."
Truer words have never been spoken.