Skip to main content

Language Execution Models

The program development and execution model explains how a program is written, converted, and executed on a system.

In traditional languages like C, the source code is compiled directly into machine code, which is platform-dependent and can run only on the operating system it was compiled for.

In contrast, Java follows a different approach. The source code is first compiled into bytecode, which is platform-independent. This bytecode is then executed by the Java Virtual Machine (JVM), which converts it into native machine code specific to the operating system.

This is why Java follows the principle: “Write Once, Run Anywhere.”

C Language development and execution model.

Java Language development and execution model.

Execution Model Summary

C programs are platform-dependent because they compile directly into machine code for a specific operating system.

Java programs are platform-independent because bytecode runs on the JVM, enabling execution across multiple operating systems.