Question 1: What are the main differences between Java and C++?
Java is interpreted. It is compiled into platform
neutral byte-codes which are then interpreted on the
machine that runs it. This is usually done with a Java
Virtual Machine but some Just-In-Time compilers are now
being used. This makes it very portable.
C++ is compiled into machine dependant code which can
not run on various platforms in the compiled form. It
must be compiled specifically for each platform that it
will run on. There are sometimes platform specific
features that may require code changes to support each
platform. This makes it less portable.
Some other differences include:
Java handles it own memory allocation.
Java does not use Pointers to the same extent that C++ does. It
eliminates pointer arithmetic and provides null pointer
checking. This makes Java less complex.
Both are OO but Java only supports classes. It does not support
structures, etc.
C++ allows multiple inheritance while Java only supports single
inheritance.
Question 2: In what respect is C or C++ better than Java?
C and C++ programs are faster than Java due to it's interpretive
nature.
Many people also believe that C/C++ is more fault tolerant and
stable than Java. Consider the following warning that Microsoft
has included with it's Java license.
NOTE ON JAVA SUPPORT. THE SOFTWARE PRODUCT CONTAINS SUPPORT FOR
PROGRAMS WRITTEN IN JAVA. JAVA TECHNOLOGY IS NOT FAULT TOLERANT
AND IS NOT DESIGNED, MANUFACTURED OR INTENDED FOR USE OR RESALE
AS ONLINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING
FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR
FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATIONS SYSTEMS, AIR
TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS,
IN WHICH THE FAILURE OF JAVA TECHNOLOGY COULD LEAD DIRECTLY TO
DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE.
Question 3: Why is Java perfectly suited for Internet programming?
Because it is an architectural-neutral language which makes it
platform independent. This is important because there are many
different types of computers (platforms) that are used throughout
the Internet. They can all run the same Java programs which makes
program development much easier.
Question 4: Install JDK.
Done. I have installed this on my PC where I am doing my
development. It is also available on the WPI machines.
Question 5: Let's look at the HelloWorld application again and try
to compile and run it.
Done. Compiling the source gave be the *.class file.
Running the file produced:
g:\javalab1>java HelloWorldApp
Hello World!
g:\javalab1>
Question 6: Let's look at the HelloWorld applet again and try to
compile and run it.
Done. I was able to view the applet in the Netscape browser
and via the appletviewer that comes with the JDK.