1/17
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
what is an interpreter?
The interpreter checks the source code line-by-line and if an error is found on any line, it stops the execution until the error is resolved.
what differences are there between compilers and interpreters
An interpreter both translates and executes whereas a compiler only translates
A compiler produces a separate executable form of the source code program whereas an interpreter does not
High-level vs assembly and machine code (execution speed)
Machine code is directly executed by the processor and assembly language is swiftly translated into machine code using an assembler making low level languages very quick to execute, whereas high level languages require an interpreter or compiler to translate source code into object code which is very time consuming.
what situation would assembly language be preferred?
For time critical situations, assembly language would be appropriate as an assembler is highly optimized for speed as it simply translates one assembly language statement into one machine code statement
what situation would high level languages be preferred?
For ease of coding, high-level languages are much easier to program than assembly language.
what situation would compilers be preferred?
For ease of execution speed, Compiled code would execute much faster than interpreted code.
what situation would interpreters be preferred?
For ease of error detection, The immediate feedback and ease of locating errors in source code give interpreters an advantage over compliers
what is application software?
Application software is the name given to programs that complete a specific task to the users. Examples include web browsers, word processors and spreadsheets
what is system software?
System software operates, controls and maintains he computer system and its components. System software includes the computers operating system as well as the categories : operating system, utility programs , library programs and translators
what types of system software are there and what is their role?
Operating system
- A computers operating system allows the user to control the computer with ease. It does this providing what computer systems call a virtual machine, hiding the true complexity of the computer from the user
- The operating system also manages and controls access to the computers resources. This include memory management, processor scheduling (allocating processor access to different applications) and handling interrupts
Utility programs
- Utility programs are used for housekeeping tasks in a computer system. Such as tasks including data backup, defragmenting hard drives, data compression and encryption
E.g. antivirus, disk defragmentation, file management, compression utilities, firewalls
Library programs
- Libraries contain useful functions that are frequently used by a program. Programmers can make use of libraries when developing a program to simplify a process. It has to be imported by the programmer
- A dynamic linked library is a collection of small programs that larger programs can load when needed to complete specific tasks.
Translators
- are pieces of software which translate between different types of language. Examples include compliers, interpreters and assemblers
What is a compiler?
A Compiler is a software that takes source code as input and converts the input to a lower level language at once before run-time/execution . It lists all the errors if the input code does not follow the rules of its language.
what is an assembler?
An assembler translates assembly language into machine code. Because of each Assembly language instruction has a 1-1 relationship to a machine code instruction, translation is fairly quick and straight forward
Assemblers are platform specific, meaning that a different assembler must exist for each different type of processor instruction set
what is machine code?
Machine code only uses binary digits 1 and 0 to represent instructions. This makes programs written in machine code very long and difficult for humans to understand. Because of this, machine code is prone to errors and difficult to debug.
Machine code doesn't need to be translated, making it useful for embedded systems.
What is assembly language?
Assembly language was developed with the intention of simplifying the process of writing computer programs
Mnemonics such as ADD and MOV are used in place of binary instructions that machine code uses.
This makes assembly language more compact and less error prone than machine code
What is a high level language?
High-level languages are programming languages that resemble human languages and use English in the syntax for ease of understanding, comments, indentation and error detection are features
High-level vs assembly and machine code (processor)
In machine code and assembly language code, processors are platform specific wearers in high level language it isn't
High-level vs assembly and machine code (ease of understanding)
Code in machine code and assembly language is difficult to understand wearers in high level language, English is used making it easier to understand
High-level vs assembly and machine code (error detection and correction)
In machine code and assembly language, debugging is much harder than in high level languages where comments, indentation and named variables make it much easier