1.2.2 - Application Generation Flashcards
What is application software?
This is programs that allow the user or hardware to carry out tasks or provide useful outputs which would have had to be done without a computer.
Is a complete collection of compatible pieces of software that contains electronic or hard copy user documentation describing the software to the user.
Examples include:
1) Word processors e.g. Microsoft Word
2) Spreadsheet packages e.g. Microsoft Excel
3) Presentation software e.g. Microsoft PowerPoint
4) Desktop publishing software e.g. Microsoft Publisher
5) Image editors e.g. Microsoft Photo Editor
6) Web browsers e.g. Microsoft Edge
What is an emulator?
They are programs that trick other programs into thinking it is running on its native hardware but is running on a different machine
What is utility software?
Systems software that perform tasks related to managing the computer’s resources, file management, diagnostics, and other specialized chores
How do we categorise software?
Into systems software and applications software.
Give examples of utility software
Anti-virus programs e.g. Windows Defender
Disk defragmentation e.g. Windows Disk Defragmenter
Compression e.g. Windows Compression Software
File managers e.g. Windows File Explorer
Backup utilities e.g. Windows Backup Utility
What is Bespoke software?
Software developed specifically for a set of users or customers. The opposite is off-the-shelf software.
What is Off-the-shelf software?
Software mass-produced by software vendors to address needs that are common across businesses, organizations, or individuals.
What are the differences between Open Source software and Closed Source software?
Open source
1) Source code is freely available for others to examine or
recompile.
2) This allows other to make amended versions of the
program and contribute to the program’s development.
3) There isn’t a commercial organisation behind the
software so there won’t be a helpline or regular
updates.
4) Examples include Linux, Libre Office, Firefox.
Closed source
1) Propriety software is sold in the form of a license to use
it which will restrict users on how the software can be
used.
2) The software company or developer holds the copyright
so users will not have access to the source code and
will not be allowed to modify the package and sell it to
other people.
3) There will be support available from the company such
as regular updates, technical support lines, training
courses and a large user base.
4) Examples include Mac OS, iWork, Safari
What are translators?
A translator is used to convert code from one language to another so from HLL (high level language) or LLL (low level language) source code to object, intermediate, executable or machine code and detects errors in source code.
What is high level language (HLL)?
The code that the programmer will write in such as Python, C# and C++.
What is low level language (LLL)?
languages that sit close to the computer’s instruction set
An instruction set is the set of instructions that the processor understands.
Two types of low-level language are:
machine code
assembly language
What is machine code?
Binary or hexidecimal
What is assembly language?
A type of low-level programming language that is intended to communicate directly with a computer’s hardware
INP
STA
etc
What is a compiler?
1) Converts HLL source code to machine code.
2) Translates the whole program as a unit and creates an executable or intermediate language program when the program is completed.
3) Gives a list of errors at the end of compilation at once but some reported errors may be spurious.
4) Compiled code is not human readable helping to preserve intellectual property and protect the program from malicious use.
5) Compiled code is machine dependent and architecture specific so multiple versions of the code will need to be maintained for different architectures.
6) Optimisation improves program speed and size so compiled code runs more quickly.
7) The compiler is no longer needed once the executable code is produced.
8) Easy to get access to lower level features such as GPU access.
9) Produces intermediate code for virtual machines.
What is an interpreter?
Interprets and runs HLL source code which is machine independent.
1) Translates one statement then runs it before translation of the next line.
2) Reports one error at a time as they are found then stops to indicate position of error.
3) The interpreter must be present each time the program is run so the program runs more slowly due to translation.
4) Used by virtual machines and during program development.
5) The Source code is visible meaning it can easily be copied and amended but can be obfuscated.
In summary:
Converts a program written in a higher level language into a lower level language and executes it, beginning execution before converting the entire program LINE BY LINE.