Applications generation Flashcards
1
Q
What are applications?
A
- Software that is designed to perform a specific task or a task for the user
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
3
Q
What is utility software?
A
- Software designed to help analyse, configure, optimise or maintain a computer
- It supports the operating system
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
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
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
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
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
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
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
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
12
Q
What do assemblers do?
A
- Translate assembley language into machine code
- Assemblers deal with low level languages
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
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
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)