Applications generation - paper 1 Flashcards

1
Q

What are the two types of software?

A

Applications software
Systems software

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

What is open source code?

A

Open source code can be used by anyone without a license and is distributed with the source code.

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

What is closed source code?

A

Closed source code requires the user to hold a license to use it. Users cannot access the source code as the company owns the copyright license.

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

Advantages of open source code?

A

Can be modified and improved by anyone
Technical support from online community
Can be modified and sold on

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

Advantages of closed source code?

A

Thorough, regular and well tested updates
Company owning software provides expert support and user manuals
High levels of security as developed professionally.

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

Disadvantages of open source code?

A

Support available online may be insufficient or incorrect. No user manuals
Lower security as may not be developed in a controlled enviroment

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

Disadvantages of closed source code?

A

License restricts how many people can use the software at once
Users cannot modify and improve software themselves.

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

What are different types of translators?

A

Compiler, interpreter, assembler

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

What is a compiler?

A

Compilers translate high level code into machine code all at once. The initial compilation process is longer than using an interpreter or an assembler, if changes are made the whole code must be re compiled.

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

What is an interpreter?

A

An interpreter translates and executes code line by line.
Initially appear faster however slowed than running compiled code
Useful for testing sections of code and pinpointing errors

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

What is an assembler?

A

An assembler translates assembly code into machine code
Assembly code is platform specific as instructions are processor specific

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

What are the four different stages of compilation?

A

Lexical
Syntax
Code generation
Optimisation

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

What happens in lexical analysis?

A

White spaces and comments are removed from the code
Keywords and names of variables are replaced with tokens that are stored in a symbol table

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

What happens in syntax analysis?

A

Tokes are analysed against rules are programming language
Any tokes that break the rules are flagged for a syntax error
Syntax tree is produced that represents the code as a tree

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

What happens in the code generation stage of compilation?

A

The syntax tree produced is used to produce machine code.

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

What happens in optimisation stage of compilation?

A

Goes through the code and looks for ways to make it more efficient
Aims to make the code faster to execute- however does take time looking for ways to make the code more efficient
Redundant parts of code are removed.

17
Q

What is a linker?

A

A piece of software that is responsible for linking external modules and libraries within the code

18
Q

What is a static linker?

A

Modules and libraries are added directly into the file.
Increases the size of the file

19
Q

What is a dynamic linker?

A

Addresses of modules and libraries are included in the file where they are referenced.
Keeps files small and external updates are gulag to the file

20
Q

What is a loader?

A

Loaders are programs that are provided by the operating system
When a file is executed the loader retrieves the library or subroutine from the given memory location