1.2.2 Application generation - Harvey Flashcards
What is an application software?
Used by the end user to perform one specific task
Examples of application software
desktop publishing, word processing, spreadsheets
What is system software?
Low level software
responsible for managing computer resources
Examples of system software
library programs, utility programs, operating system
purpose of utilities
Used to maintain consistent high performance of the operating system.
Examples of utilities
Compression
Defragmentation
Antivirus
What is disk defragmentation?
Rearranging the contents of the hard drive so they can be accessed faster.
Purpose of antivirus
To detect potential threats to the computer.
Example of compression
compress large files for transmission across internet.
What is source code
Code written by a programmer
What is object code
Low level code understood by the computer
What is open source?
Can access it without a license comes with source code
What is closed source
Needs license to use it so can’t access source code.
Advantages of open source
Can be modified to make improvements by anyone
Access to support from community.
Advantages of closed source
Proper tested updates
Expert support from developers
Higher level of security
Disadvantages of open source
Insufficient/incorrect support online
Lower security
Disadvantages of closed source
Users cannot make improvements
Longer time to fix bugs/errors
What is a translator?
Program that converts high level source code into low level object code
What are the 3 translators?
Compiler
Interpreter
Assembler
Purpose of a compiler
Translate high level code into machine code all at once
Purpose of an interpreter
Translates and executes code line by line
Purpose of an assembler
Translates assembly code into machine code
Advantages of an interpreter
They stop and produce an error if a line contains an error.
Code can be executed on a range of platforms.
Disadvantage of interpreter
Slower than running compiled code
Requires an interpreter in order to run code.
Advantage of a compiler
Code can be ran without a translator being present
Disadvantage of a compiler
If changes made whole code needs to be recompiled
compiled code specific to operating systems
Advantage of an assembler
code translated on a one-to one basis with machine code
Disadvantage of an assembler
Platform specific so dependent on processor
stages of compilation
Lexical analysis
syntax analysis
code generation
code optimisation
features of lexical analysis
source code broken down into tokens
white space and comments removed
symbol table created
features of syntax analysis
tokens compared against syntax rules
tokens broken with incorrect syntax
syntax tree generated
features of intermediate code generation
transforms syntax tree into intermediate code that is easier to optimise.
features of code optimisation
intermediate code optimised to make it more efficient e.g. removing redundant code
features of code generation
optimised intermediate code converted into machine code which is executable code that the machine can run.
Role of a loader in application generation
Executable code is placed into memory for execution by the operating system
What is an IDE?
A software helping programmers develop code
Tools of an IDE
Code editor, syntax highlighting, debugger and compiler tool
What is linking?
Linking is where compiled code is added to external libraries.