Assembly Code:
Computers execute machine code. This is difficult for human to read, write, and debug.
Assembly code instructions are equivalent to machine code but easier for humans to work with.
Assembler:
Assembly code is a low level language, translating assembly to machine code is done with an assembler.
Each processor has its own instruction set, so object code produced is hardware specific.
Compiler:
Compilers translate a whole program, in a high level language, into machine code through several
stages. Can only run with no Syntax errors.
This resulting code is Object Code.
The object code made is hardware specific.
Interpreter:
Interpreter also translates High-Level to Machine.
Interpreter does line by line, rather than whole program before it can be executed. Done in order needs
to be executed
Advantages of Compilers vs Interpreters:
Compilers Interpreters
Program run many times without recompile Source code run on any machine with the interpreter.
Fast execution time If small error, no need recompile whole.
Executable code not require interpreter to run
Compiled cannot be easily read/copied
Bytecode:
Most languages not solely compiled/interpreted- combination both.
Java= compiled into bytecode, intermediate step between source code and machine code.
Bytecode is interpreted by bytecode interpreter, for example Java Virtual Machine. Virtual Machine=
Emulator.
Computers execute machine code. This is difficult for human to read, write, and debug.
Assembly code instructions are equivalent to machine code but easier for humans to work with.
Assembler:
Assembly code is a low level language, translating assembly to machine code is done with an assembler.
Each processor has its own instruction set, so object code produced is hardware specific.
Compiler:
Compilers translate a whole program, in a high level language, into machine code through several
stages. Can only run with no Syntax errors.
This resulting code is Object Code.
The object code made is hardware specific.
Interpreter:
Interpreter also translates High-Level to Machine.
Interpreter does line by line, rather than whole program before it can be executed. Done in order needs
to be executed
Advantages of Compilers vs Interpreters:
Compilers Interpreters
Program run many times without recompile Source code run on any machine with the interpreter.
Fast execution time If small error, no need recompile whole.
Executable code not require interpreter to run
Compiled cannot be easily read/copied
Bytecode:
Most languages not solely compiled/interpreted- combination both.
Java= compiled into bytecode, intermediate step between source code and machine code.
Bytecode is interpreted by bytecode interpreter, for example Java Virtual Machine. Virtual Machine=
Emulator.