Difference between c language and java

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 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 reusability.
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.
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.

Posted on by