6.2 Classification of programming languages Flashcards
Explain the development of types of programming language?
early computers could only be programmed using low level languages which: directly manipulate the processor, require a lot of effort, prone to errors
High-level languages were developed to make programming easier
What are the features of low level languages?
Processor specific
Directly affect computer’s processor
Describe machine code?
Uses the binary digits to represent instructions
Directly manipulates computers processor
Programs are very long and hard for humans to understand
Prone to errors and difficult to debug
Useful for embedded systems and real-time applications
Describe assembly language?
Developed to simplify the process of writing computer programs
Mnemonics are used instead of binary instructions.
More compact and less prone to errors than machine code.
1 to 1 correlation between machine code instruction
Useful for embedded systems and real-time applications
Describe high-level languages?
Not platform specific
Must be translated into machine code by a translator
Use English instructions and mathematical symbols for instructions
Easy to learn
Have built in functions
Easy to debug
What is are imperative high-level languages?
Formed from instructions that specify how the computer should complete a task rather than what a computer should do
Compare Machine code to assembly language and high level languages (4 comparisons)
Both low-level languages are processor specific meaning they are not portable but high-level languages are portable.
Machine code is difficult for humans to read, assembly is slightly easier and high-level is east for humans to read.
Errors are hard to spot in machine code, a little easier in assembly language and fairly easy in high-level languages.
Machine code is directly executed by processors whilst assembly language must have an assembler (1 to 1 correlation means translations are quick).
A compiler and interpreter must be used to translate source code into object code before it can be executed, making it more time consuming.