In Microsoft Windows and Internet Explorer, programs that are written in languages such as Pascal or C, are compiled into executable files, and require compilers to be run. These languages are dependent on the operating system, which implies that the programs written for Windows will not be able to run on Linux. Programming Languages such as Visual Basic, C is interpreted each time they would need to be executed on the user’s computer.
Java follows a different protocol, first the bytecode is formed, and then, when it is ready to be implemented, the byte code is interpreted. Java Virtual Machine is the software, which interprets this byte code and runs the java program. The java applets will not run without a virtual machine. Java applets are not dependent on one OS, making it a very useful language to write it, as the same code will work on many different computers.
It is necessary for the user to be aware that Sun is the original producer of Virtual Machine. The Sun virtual machine and the Microsoft virtual machine are not compatible due to Microsoft technologies being different. Some applets are distributed in a way, which will run only on the Microsoft Virtual Machine.
A user can have both versions of virtual machine installed on his/her computer. The control panel with the Sun version helps the user to switch between the settings.