1.2.2 Applications Generation Flashcards
1
Q
What are the 2 main types of software?
A
- Applications software performs a specific task for the user, running on systems software. (Ex. word processing, browsers).
- Systems software is low-level software that runs the device smoothly. No direct user interaction. (Ex. OS, utilities, drivers).
2
Q
What are the main examples of utility software?
A
- Compression shrinks file sizes for internet transfer and storage saving.
- Disk Defragmentation rearranges the programs in storage into contiguous physical order to improve performance.
- Antivirus checks downloads and programs for malware signatures.
- Automatic updating and backups ensure all software runs the latest version and all data is backed up for recovery.
3
Q
What is open-source software?
A
- Source code that can be used, modified and distributed by anyone.
- Allows community technical support and modification to fit needs, but developer support may be lacking, and of lower security standards.
4
Q
What is closed-source software?
A
- Proprietary software with a hidden source code, requiring a (usually paid) license to use.
- Thoroughly tested and with high levels of support and security.
- Can be expensive and is unmodifiable.
5
Q
What are the 3 types of translators?
A
- Compilers turn high-level code into machine code in one go, while carrying out checks and forming an error report. Slowest translation, fastest code. Also produces intermediate code.
- Interpreters translate high-level code line by line, stopping at any errors. Useful for testing but slower than compiled code.
- Assemblers translate assembly code into machine code on a 1:1 basis. Assembly code is platform specific.
6
Q
What are the stages of compilation?
A
- Lexical analysis removes comments and whitespace, then replaces codes with tokens and a symbol table.
- Syntax analysis checks the tokens against the rules of the programming language. Produces an abstract syntax tree.
- Code Generation uses the syntax tree to produce machine code.
- Optimisation involves searching through code and replacing parts of it with identically functioning, more efficient code, and removing redundant parts.
7
Q
What are linkers, loaders and libraries?
A
- Linkers can be static or dynamic. Static linkers add modules directly to the file. Dynamic linkers include the addresses of modules, keeping files smaller.
- Loaders retrieve a library or subroutine when executing a file.
- Libraries are pre-compiled, free-to-use tested code that programmers can make use of to save time.