Applications generation Flashcards

1
Q

What are applications?

A
  • Software that is designed to perform a specific task or a task for the user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Examples of applications and their purposes

A
  • Word processor: for creating, editting and printing text documents
  • Web browser: for browsing the web and accessing information online
  • Spreadsheet software: for organising, calculating and analysing numerical data
  • Antivirus: for protecting the computer system from viruses and other malicious software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is utility software?

A
  • Software designed to help analyse, configure, optimise or maintain a computer
  • It supports the operating system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Examples of utility software

A
  • Disk defragmentation: rearrange the files on a hard drive to increase efficiency
  • File management: organise, search, rename and relocate files stored on the system
  • Device driver: provide an interface between the hardware and operating system
  • Security: protect the system from various threats like viruses and malware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is open source software and some examples?

A
  • Users can view, modify and distribute the source code
  • Ideal for collaborative projects, customisation and transparency
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is closed source software and some examples?

A
  • The source code is hidden and proprietary
  • Ideal for businesses requiring intellectual property protection
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pros and cons of open source software

A
  • Pros to the creator: collaboration, community engagement, faster innovation
  • Cons to the creator: less control, burdened with requests from the user
  • Pros to the user: free, customisable and transparent
  • Cons to the user: less user-friendly, compatability issues and more bugs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Pros and cons of closed source software

A
  • Pros to the creator: greater control, revenue through sales
  • Cons to the creator: slower innovation, full resposibility for updates
  • Pros to the user: professional support, consistency and polished products
  • Cons to the user: costly and less cusomisable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a translator and the main types?

A
  • Translators convert source code from a high-level language to a low-level language
  • The main types are:
  • Interpreters
  • Compilers
  • Assemblers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What do interpreters do?

A
  • Interpret source code line by line and execute while interpreting
  • Easier to debug, allows incremental testing and faster to start execution
  • Slower overall execution time and interpreter must be present during execution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What do compilers do?

A
  • Translates the entire source code into machine code and executes it
  • Faster execution time, no need for compiler during execution
  • Longer initial compilation time and can be more challenging to debug
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What do assemblers do?

A
  • Translate assembley language into machine code
  • Assemblers deal with low level languages
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is compilation and what are the 4 stages?

A
  • A process that translates a program written in a high-level language into machine code
  • Lexical analysis
  • Syntax analysis
  • Code generation
  • Optimisation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the process of lexical analysis?

A
  • Unnecessary elements such as comments and white space is removed
  • Lexical tokens are introduced
  • Tokens represent common keywords in the programming language
  • Reserved words are replaced with tokens
  • Tokens are added to a token look up table
  • Variables are stored for later use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the process of syntax analysis?

A
  • Incoming tokens from lexical analysis are checked to ensure that they conform to the rules of the programming language
  • Lookup table is updated with the data type and scope of variables
  • If errors are found, they are reported back AT THE END in an error report
  • If the code passes, it creates an abstract syntax tree (AST)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is an abstract syntax tree?

A
  • An “intermediate” representation of the program that is being analysed
17
Q

What is the process of code generation and optimisation?

A
  • Takes the AST from the previous stage and converts it into objet code that can be executed by the computer
  • During optimisation, the code is made more efficient without changing its functionality
  • A common method of this is by removing duplicate code