Here are some of the differences between Java and C language.
C is much faster than Java
Java is slower than C due to overhead.
C | JAVA |
C was developed by Dennis M. Ritchie between 1969 and 1973. | Java was developed by James Gosling in 1995. |
C is a Procedural Programming Language. | Java is Object-Oriented language. |
C is more procedure-oriented. | Java is more data-oriented. |
C is a middle-level language because binding of the gaps takes place between machine level language and high-level languages. | Java is a high-level language because translation of code takes place into machine language using compiler or interpreter. |
C is a compiled language that is it converts the code into machine language so that it could be understood by the machine or system. | Java is an Interpreted language that is in Java, the code is first transformed into bytecode and that bytecode is then executed by the JVM (Java Virtual Machine). |
C generally breaks down to functions. | Java breaks down to Objects. |
C programming language can be used for system programming as well as Application programming. | This is not the case in Java. |
C does not contain the property called Inheritance because it does not support OOPS, which is very useful for code reusability. Thus C is not suited when one has to relate the things according to the real world. | Java contains the property of Inheritance which is very useful in code reuseability. |
Memory allocation can be done by malloc in C | Memory allocation can be done by a new keyword in Java. |
C is a low-level language. It has difficult interpretation for the user but it has a closer significance to the machine-level code. | Java is a high-level language because translation of code takes place into machine language using compiler or interpreter. |
In C89 declaration of variables is at the beginning of the block but in the latest version of C that is C99 we can also declare variables anywhere. | We can declare variables anywhere. |
free is used for freeing the memory in C. | A compiler will free up the memory internally by calling the garbage collector. |
C does not supports Threading. | Java supports the concept of threading. |
C supports pointers. | Java does not supports pointers. |
It is not portable. | It is portable. |
Call by value and call by reference is supported in C. | It only supports a call by value. |
C is platform dependent. | Java is a platform independent. |
It supports user-based memory management. | It internally manages the memory. |
C is not robust that is strict type checking does not takes place while compile and run time. | Java is robust. |
Exception handling cannot be directly achieved in C and thus it lacks the maintenance of normal flow of the program. | Exception Handling is supported in Java. |
It follows a top-down approach. | Java follows a bottom-up approach. |
Overloading functionality is not supported by C. | Java supports method overloading which helps in code readability. |
C supports Preprocessors. | Java does not support Preprocessors. |
C does not supports OOPS concept. | Java supports OOPS concept. |
Union and structure datatypes are supported by C. | Java does not supports union and structures. |
C supports the storage classes. | Whereas Java does not suport the storage classes. |
It has 32 keywords. | It has 50 keywords. |
Go-to statements are supported in C language. | Java does not supports go-to statements. |
Virtual keywords are supported by C. | Virtual keywords are not supported by Java. |
Overloading functionality is not supported by C. | Java supports method overloading which helps in code readability. |
Default members of C are public. | Default members of Java are private. |
Data hiding is done by using static in C. | Data hiding is done by using private in Java. |
0 comments:
Post a Comment