Javatpoint Logo
Javatpoint Logo

What is the Difference Between C and Java?

C is a procedural, middle-level, compiled, and general-purpose programming language. Java is a high-level, object-oriented, interpreted, and general-purpose programming language. Another key difference between C and Java is that C follows the top-down approach to develop applications while Java follows the bottom-up approach.

C is easier to learn than Java. We can quickly and easily develop an application using Java. If the same program is created using the C language, the code will be lengthy and will take more time than Java. There are some other differences that we have discussed in this section.


C is a middle-level and general-purpose programming language. It was developed at Bell Labs by Dennis Ritchie, in 1970, for the Unix Operating System, in 1970. It is ideal for developing firmware and portable applications.


In 1991, Sun Microsystems has developed the Java programming language. The team who had developed Java is known as Green Team. When the Sun Microsystems had launched Java, its name was OAK. In 1995, its name was changed to Java. Sun Microsystems has been acquired by Oracle Corporation, in 2009. Since then, Java is the product of Oracle. The main aim to develop this language was to develop applications for hand-held devices.

What is the Difference Between C and Java

Difference Between C and Java

In the following table, we have described some key differences between C and Java.

S. N. Basis C Java
1 Language Level C is a middle-level language. Java is a high-level language.
2 Paradigm C is a structural and procedure-oriented programming language. Java is an object-oriented programming language
3 Approach It follows the top-down approach to design the application. It follows the bottom-up approach to design the application.
4 Translation It is a compiled language. It is an interpreted language.
5 Platform Dependency It is platform dependent. It is platform-independent.
6 Keywords There are 32 keywords in C. Java has 50 keywords.
7 OOPs Concepts It does not follow OOPs concepts. It follows OOPs concepts.
8 File Extension The file is saved with the extension .c. The file is saved with the extension .java.
9 Building Block Function driven. Object and Class driven.
10 Comment Style / *comment*/ //comment or /*comment*/
11 Security It is not secure. It is fully secured language.
12 Translation Type It translates the code into machine language so that the machine can understand the code. It translates the code into a bytecode that is executed by the JVM.
13 Pointers It supports the concept of the pointer. It does not support the concepts of pointers because of security.
14 Exception Handling Exception handling is not present in C language. Exception handling is present in Java.
15 Inheritance It does not support inheritance that is useful for code reusability. It supports inheritance that provides code reusability.
16 Threading There is no concept of threading. It supports the concept of threading.
17 Memory Management It does not maintain memory, internally. It maintains memory, internally.
18 File Generation It generates .exe file. It generates .class file.
19 Code Execution It directly executes the code. It executes code with the help of JVM.
20 Call by value/ Call by reference It supports both call by value and call by reference. It supports only call by value.
21 Portability It is not portable. It is portable.
22 Goto Statement It supports the goto statement. It does not support the goto statement.
23 Preprocessors Directives Preprocessors are supported in C. Preprocessors are not supported in Java.
24 Robustness It is not robust. It is robust due to strong memory management.
25 Used For It is mainly used to develop system applications and firmware. It is mainly used to develop enterprise applications and web-based applications.
26 Polymorphism/ Virtual Function/ Operator Overloading It does not support these features and concepts. Java supports all these features and concepts.
27 Popularity It is less popular in comparison to Java. It is the most popular programming language.

Although, Java has become a popular programming language for developing the web-application, android apps, IoT applications, etc. Still, C has not lost its popularity because it is used to develop firmware, operating system, and other system utilities.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA