Applications generation Flashcards

1
Q

What is application software

A

Software that allows a user to perform a task or produce something

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Examples of application software

A
  • Word processor
  • Spreadsheet packages
  • Presentation software
  • Desktop publishing software
  • Image editors
  • Web browsers
  • Database management systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a utility software

A

Small programs designed to help with the maintenance of a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Examples of utility software

A
  • Anti-malware
  • Disk defragmentation
  • Backup
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is source code

A

The program code written by the programmer, usually in high-level language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is closed source software

A

Software only distributed as machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is open source software

A

Software where the source code is made freely available and grants users the right to examine, modify and share it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

ADV of open source

A
  • No enforced deadlines as the code is written by volunteers
  • Users are free to amend the source code of open source software and adapts it to their purposes
  • Lower costs of development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

ADV of closed source

A
  • Usually polished to attract customers
  • Technical support is formally avaliable
  • Arguably more secure as the source code is not available so weaknesses are not so apparent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is machine code

A

Instructions and data stored in binary, directly readable by the CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is assembly code

A

A low-level language that uses single words or mnemonics to represent instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a assembler

A

A program that converts assembly code into machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are low-level languages

A

These are languages closely tied to the architecture of the CPU. They use the CPU’s instruction set

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are high-level languages

A

These are designed to be easily read by humans. They tend to use a combination of English keywords and mathematical notation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a compiler

A

A program that converts the entire high-level source code into an executable machine code file that is then executed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a interpreter

A

A program that reads and executes high-level source code line-by-line

17
Q

What are the stages of compilation

A
  • Lexical analysis
  • Syntax analysis
  • Code generation
  • Code optimisation
18
Q

What happens during lexical analysis

A

Identifies the parts that make up the program:
- comments and whitespace are removed
- the remaining code is turned into a series of tokens each representing a small discrete part of the program
- a symbol table is created to keep track of the variables and subroutines

19
Q

What happens during code generation

A

The abstract code tree is converted to object code

19
Q

What happens during syntax analysis

A

Checks the structure of a language:
- an abstract syntax tree is built from the tokens produced
- if any tokens break the rules of the language, syntax errors are created

20
Q

What happens during code optimisation

A

Tweaks the code so it will run as efficiently as possible

21
Q

What is object code

A

When code is compiled but yet to be run through a linker

22
Q

What are libraries

A

Already written code to perform common complex tasks and packaged as libraries

23
Q

ADV of libraries

A
  • Save time
  • Cover complex areas that may require significant expertise that would be ime-consuming to learn
  • A library coded in one language can be used in programs written in another language
24
Q

What is a linker

A

Used to combine compiled code with that from a library into a single executable file

25
Q

What is a loader

A

Parts of the OS and is responsible for loading a program into memory