Answer Posted / blue arkos
Java is interpreted. This means that java source code is
compiled once, but it has to be interpreted by the JVM (Java
Virtual Machine) everytime the programme is executed. On the
other hand, C++ is not. C++ source code will compile once,
but it is NOT interpreted everytime the programme runs,
because C++ code is converted directly to machine language
instructions (in the machine that the C++ programme was
compiled). This is the reason why C++ is NOT portable.
Java is portable. This means that any Java programme can be
executed in any machine, provided that it has a JVM. C++
applications can only be executed in the machine in which
they were created (or in some cases, in similar machines
e.g. a C++ application that was writen in a computer under
the Windows XP Operating System, it will probably run in
other computers with Windows XP and maybe in computers with
other Windows versions, but certainly not in a cell phone).
That's why Java programmes are slower. They have to be
interpreted at runtime and this yields some overhead. This
is the efficiency - portability trade-off. Java applications
are portable, but C++ applications are executed faster.
Finally, there are some ways to overcome this trade-off from
both languages' point of view, but this is not the subject
of the question.
| Is This Answer Correct ? | 4 Yes | 1 No |
Post New Answer View All Answers
What is the use of volatile in java?
how can you take care of mutual exclusion using java threads? : Java thread
How can u increase the heap size in the memory?
How do I start learning java?
What are the procedures?
Difference between method overloading and overriding.
What is a Null object?
When is finally block not called?
Which package has light weight components?
Explain about interrupt() method of thread class ?
What is collection class in java? List down its methods and interfaces.
How can you generate random numbers in java?
What are the types of casting?
What is data string?
How objects of a class are created if no constructor is defined in the class?