High and Low-level languages Flashcards
What is a high level language
portable languages that need to be converted into machine code to run on a computer
e.g C++, Python, Java
What is a low-level language
language that relates to the specific architecture and hardware of computer
Advantages of High Level Language
- easier/faster to write code as uses English-like statements
- easier to modify as uses English-like statements
- easier to debug as uses English-like statements
- portable language code - because it is written in source code
- Only need to learn a single language - as this can be used on many different computers
Advantages of low level language
- can work directly on memory locations
- can be executed faster
- translated program requires less memory
- no need for compilers/interpreters
features of a compiler
- A report of errors is produced at the end of translation
- Translates high-level language into machine code
- An executable file is produced
- The program will not run at all if an error is detected
- Can be used without compiler
features of a interpreter
- Translates from high-level language into machine code
- Cannot be used without translator
- Executes a high-level language program one instruction at a time
- Produces error message each time an error encountered
features of assembler
low-level programming language
uses mnemonic codes
specific to the computer hardware.
used to create drivers for hardware
Features of interpreter
Translates from high-level language into machine code
Cannot be used without translator
Executes a high-level language program one instruction
at a time
Produces error message each time an error encountered
features of assembly code
low-level programming language
uses mnemonic codes
specific to the computer hardware.
used to create drivers for hardware
whats a syntax
The structure of language statements in a computer program is called the syntax
Differences between compilers and interpreter
compiler produces executable code / interpreter doesn’t produce executable code
compiler translates program in one go / interpreter translates and executes line at a time
compiler produces list of all errors / interpreter produces error message each time an error encountered
compiler produces “stand alone code” / interpreter doesn’t produce “stand alone code”