Skip to main content

Compilers and interpreters

Programming languages allow you to interact with computers but writing a program would end in itself without compilers and interpreters. A computer would not be able to understand a program written with programming languages without the code being first translated into machine language; in the case of compilers, or interpreted in the case of interpreters. 

Compiled and interpreted languages

Except for Java where we can summarize with a term typical of (middle way) the constraints of a compiled program as in C, C ++ compared to an interpreted one, to understand them you have to go back in time to the birth of the Web; this is the only way to understand what prompted the need to find alternative solutions to those of compiled languages. Even though things have changed today with languages that have improved the internet experience such as:
  • JavaScript,
  • PHP,
  • ASP,
  • JSP
at the time, the "small applications written in Java" Applets were the first to open the way to the new way of understanding the Web. The Netscape Browser was the first to integrate a Java Virtual Machine into it; demonstrating and allowing interaction through the client-side Browser, in Run time.

Compilers and interpreters

The difference between an interpreted program is that the compiled one is assembled in binary code only once creating the executable; vice versa the interpreted code is executed every time in run time. A concrete example of an interpreted code is the one used for the Web.

Compilers and interpreters
Compilers and interpreters 


The success of Java

The JVM has determined the success of Java by allowing the Byte code of an application written in Java code to be interpreted, in Run Time; platform-independent! The Java Virtual Machine can be integrated on any operating system be it:
  • Linux,
  • Mac Os,
  • Windows,
  • Solaris 
allowing to circumvent all those constraints that you had instead with compiled programs like C ++; which were forced to include third-party external libraries to increase portability, not without a few compatibility issues.

Comments