TODO

Programming languages can be divided into three categories by the way they are executed:

Machine languages
The CPU can directly execute those. Each CPU type has their own version of machine language.
Compiled languages
Programs in these language are translated or compiled into machine language first and then the result can be executed. Examples are C, C++, and Fortran.
Interpreted languages
Programs in these language are run by another program, the interpreter, that takes each line of code and executes some corresponding machine language for it. Examples are JavaScript, Python and BASIC.

Java is actually a mix: It is first compiled by javac to an intermediate language, the Java byte code, which is then interpreted by java, the Java Virtual Machine (JVM).