1.2.2 Application Generation

Cards (38)

  • What are the two categories of software?
    Applications software and systems software
  • What is the primary purpose of applications software?
    To perform one specific task for the user
  • What is required for applications software to run?
    Systems software
  • What is the role of systems software?
    To run the computer system smoothly
  • What type of software does the user not directly interact with?
    Systems software
  • How does systems software benefit the user?
    It ensures high performance for the user
  • What are the functions of utility programs in systems software?
    • Ensure consistent, high performance of the OS
    • Perform specific maintenance tasks
  • What is the function of compression utilities?
    To compress and decompress files
  • Why is disk defragmentation important?
    It improves read/write times by rearranging files
  • What does antivirus software do?
    Detects and removes potential threats
  • How does automatic updating benefit the operating system?
    It keeps the system updated against vulnerabilities
  • What is the purpose of the backup utility?
    To create routine copies of selected files
  • What does open source software allow users to do?
    Use and modify the source code freely
  • What is a key characteristic of closed source software?
    Source code is not accessible to users
  • What are the advantages and disadvantages of open source software?
    Advantages:
    • Can be modified and improved
    • Regular updates from the community
    • No licensing fees

    Disadvantages:
    • Insufficient support may be available
    • No user manuals provided
  • What are the advantages and disadvantages of closed source software?
    Advantages:
    • Expert support from the company
    • High levels of security

    Disadvantages:
    • License restrictions on usage
    • Users cannot modify the software
  • What factors should a user consider when choosing software?
    Costs and functionality of the software
  • What is the role of a translator in programming?
    To convert high-level code into low-level code
  • What are the three types of translators?
    1. Compiler
    2. Interpreter
    3. Assembler
  • How does a compiler work?
    It translates high-level code into machine code all at once
  • What is a disadvantage of using a compiler?
    Changes require recompilation of the entire program
  • What is the function of an interpreter?
    It translates and executes code line-by-line
  • Why might interpreters be useful for testing code?
    They allow for immediate execution and error detection
  • What is assembly code?
    Low-level language next to machine code
  • How do assemblers function?
    They translate assembly code into machine code
  • What are the four stages of compilation?
    1. Lexical Analysis
    2. Syntax Analysis
    3. Code Generation
    4. Optimisation
  • What happens during lexical analysis?
    Whitespace and comments are removed from the code
  • What is the purpose of syntax analysis?
    To check tokens against programming language rules
  • What is produced during syntax analysis?
    An abstract syntax tree
  • What does semantic analysis detect?
    Logic mistakes within the program
  • What is the goal of code generation?
    To produce machine code from the abstract syntax tree
  • What is the purpose of the optimization stage?
    To make the code faster to execute
  • What are linkers responsible for?
    Linking external modules and libraries in code
  • What is the difference between static and dynamic linking?
    Static adds modules directly; dynamic references them
  • What do loaders do?
    Retrieve libraries or subroutines from memory
  • What are libraries in programming?
    Pre-compiled programs for reuse in other programs
  • How do libraries benefit programmers?
    They save time and effort in development
  • What types of functions do popular libraries provide?
    Mathematical and graphical functions