1.2.2 Applications Generation
No description yet. This curated deck is ready for daily study.
Card preview (14)
Describe and give examples of application software
Performs generic tasks for the user Examples: - Database (DBMS) - Word processor - Spreadsheet - Graphics editor - Desktop Publisher (DTP) - Presentation Software - Computer Aided Design (CAD)
Which category of software would be used to perform each of the following tasks?
Describe and give examples of utility software
A piece of system software, with one specific purpose, that is used for the maintenance of the system Examples: - Disk Defragmenter - puts fragmented files in consecutive storage locations - Compression - reduces the amount of storage space files take up - Anti-Virus/Malware - protects the computer against threats - Backup - copies data to another storage device - Encryption - scrambles data so it cannot be understood
Describe open-source software
Source code is freely available for others to amend / recompile • Can be built on to tailor the program to specific needs without starting from scratch • Code open for bugs to be spotted and fixed. • Has the benefit of a community potentially improving the system
Describe closed-source software (proprietary)
The source code is not made available • Distributed in binary form • There is no permission to amend the program code, so cannot be ‘tweaked’ • Users are sold a license to use it (with conditions).
Describe machine code
• The output of a translator • Uses binary notation (0101010101000011) • Dependent on architecture • Harder to program
Describe and give examples of high-level languages
Examples: C# and C++ • Not locked to any architecture (but needs a translator for the given architecture) • Uses English-like syntax/words. • Allow for faster development as contains built-in functions to write code quicker. • Programmer is not in control of what machine code instructions are generated by the translator
Describe and give examples of low-level languages
Examples: Assembly and Machine Code • Machine Code - Written in binary / 1s and 0s. • Assembly - Uses mnemonics to represent machine code instructions/opcodes • Assembly - Uses an assembler to convert to machine code • Assembly - One-to-one conversion to machine code • Both - Consists of simple instructions • Both - Processor specific • Both - Programmer has direct control over what instructions are being run and what memory is being used.
What is a translator?
Software that converts code from high-level, or assembly, to machine code
What are the 3 types of translators?
Interpreter Compiler Assembler
Describe an interpreter and give an example of a language that would use one.
• Translates source code every time the program is run • The user needs access to the source code to run the program • Will run on any machine • The slowest option for translators Example: JavaScript
Describe a compiler and give an example of a language that would use one.
• Machine dependent - different compilers are needed for each type of machine • Creates an executable program (.exe) • Users do not see the source code • Only need to be translated once so saves time when the program is ran • Code is optimised Example: C#
Describe an assembler and give an example of a language that would use one.
• Used to convert assembly language into machine code • Replaces mnemonic opcodes with machine codes • Replaces symbolic addresses with numeric addresses • Creates one line of object code for each line of source code. Example: Assembly Language
What is intermediate code?
• Simplified code in-between high level and machine code, • Produced by a compiler and runs on any computer, which allows portability between machines • Allows sections of code to be written in different languages • Runs on a virtual machine • Runs more slowly than executable code Example: Byte Code