Try it here
Subscribe
JAVA, C and C++

Difference between Java, C and C++

difference_between_java,_c_and_c++

Difference between Java, C and C++

Although Java was modeled after C and C++ languages, it differs from C and C++ in many ways. Java does not incorporate a number of features available in C and C++. For the benefit of C and C++ programmers, we point out here a few major differences between C/C++ and Java languages.

Java and C

Java is a lot like C but the major difference between Java and C is that Java is a object-oriented language and has mechanism to define classes and objects. In an effort to build a simple and safe language, the Java team did not include some of the C features in Java.

  • Java does not include the C unique statement keywords sizeof and typedef.
  • Java does not contain the data types struct and union.
  • Java does not define the type modifiers keywords auto, extern, register, signed and unsigned.
  • Java does not support an explicit pointer type.
  • Java does not have a preprocessor and therefore we cannot use #define, #include and #ifdef statements.
  • Java requires that functions with no arguments must be declared with empty parenthesis and not with the void keywords as done in C.
  • Java adds new operators such as instanceof and >>>.
  • Java adds labeled break and continue statements.
  • Java adds many features required for object-oriented programming.

Java and C++

Java is a true object-oriented language while C++ is basically C with object-oriented extension.That is what exactly the increment operator ++ indicates. C++ has maintained backward compatibility with C. It is therefore possible to write an old style C program and run it successfully under C++. Java appears to be similar to C++ when we consider only the "extension" part of C++. However some object-oriented features of C++ make the C++ code extremely difficult to follow and maintain.

Listed below are some major C++ features that were intentionally omitted from Java or significantly modified.

  • Java does not support operator overloading.
  • Java does not have template class as in C++.
  • Java does not support multiple inheritance of classes.This is accomplished using a new feature called "interface".
  • Java does not support global variables.Every variable and method is declared within a class and forms part of that class.
  • Java does not does not use pointers.
  • Java has replaced the destructor function with a finalize() function.
  • There are no header files in Java.

Java also adds some new features. While C++ is a superset of C, Java is neither a superset nor a subset of C or C++. Java may be considered as a first cousin of C++ and a second cousin of C as illustrated in figure below.

$IMG

Writer profile pic

Uk01 on Jan 26, 2015 at 12:01 am


If you like dEexams.com and would like to contribute, you can write your article here or mail your article to admin@deexams.com . See your article appearing on the dEexams.com main page and help others to learn.



Post Comment

Comments( 0)

×

Forgot Password

Please enter your email address below and we will send you information to change your password.