1.2.2 - Applications Generation Flashcards
1.2.2 - Applications Generation
What is the characteristic of Closed-Source software? [2]
Source code is not freely available [1]. It is developed and provided to the user as a fully compiled [1]
What is the characteristic of Open-Source software? [2]
The source code is freely available… [1] to edit / amend recompile [1]
Explain the benefits to the users of the software being open source [3]
Free of cost. [1] Code open for bugs to be spotted and fixed. [1] Can tailor the program to their specific needs. [1]
What are the difference between open source and closed source software? [4]
Open source has the source code freely available…[1] to copy/recompile [1]. Close sourcecode is not made available… [1] There are licensing conditions restricting the redistribution [1]
Describe what is meant by the term utility software? [2]
A piece of software with one purpose. [1] usually to do with the upkeep / maintenance of a computer.[1]
State how an application differs from a utility. [2]
Application performs tasks for the user [1] Utility performs genereic tasks [1]
What is a Compiler? [3]
A group of programs [1] utilised to generate [1] and (often) optimise object code [1]
What are the 4 stages of Compilation? [4]
Lexical Analysis [1] Syntax Analysis [1] Code Generation [1] Code Optimisation [1]
What happens during the Lexical Analysis stage? [3]
The Comments and Whitespaces are removed [1] Variable Names are added to a symbol table [1] Reserved words (such as while) are tokenized [1]
What happens during the Syntax Analysis stage? [3]
The code is checked to ensure it follows the rules of the language [1] Often by placing the tokens into a (abstract syntax) tree [1] Errors are generated where the language rules are broken [1]
What happens during the Code Generation stage? [2]
The object/machine code is created [1] This code may be inefficient [1]
What happens during the Code Optimisation stage? [2]
Redundant/Repeated Code is identified [1] and is rearranged or removed [1]
Why is the Lexical Analysis Stage necessary? [1]
To put the code into a format which can be read and processed by the syntax analyser [1]
Why is the Syntax Analysis Stage necessary? [1]
To ensure the code is valid and will run [1]
Why is the Lexical Analysis Stage necessary? [1]
To put the code into a format that the processor can understand [1]
Why is the Lexical Analysis Stage necessary? [1]
Not necessary; ensures the code works quicker/using less memory [1]
What is a Linker? [3]
A utility [1] program used during Compilation [1] that links object files (contain object code) [1]
What is a Loader? [3]
Part of an operating system [1] that is responsible for loading programs and libraries [1] by copying the executable code into the RAM [1]
What is a Library? [2]
a collection code used by computer programs [1] (often) for software development [1]
What do application softwares do? (3)
It accepts user input (1) It processes user input according to algorithms implemented in the code (2) It generates output (3)
What is general purpose software?
Software that can be used for a variety of tasks. They attract many users and so can be sold cheaply.
What is special purpose software?
Software that can be used for one particular task. More expensive because they are only purchased by users who need that particular functionality.
What is bespoke software?
software that is developed to meet the user’s specific requirements.
High-Level Languages
They are are used to write programs that are independent of the computer architecture they will run on. They are compiled/interpreted.