Question 1 Report
A software company needs to choose the appropriate programming language and translator for different projects.
(a) For each scenario, state whether a high-level or low-level language would be more appropriate and explain why. [3]
(i) Developing a mobile phone app for managing to-do lists
(ii) Writing firmware for a simple microcontroller in a washing machine with 2KB of memory
(iii) Building a website with interactive features
(a) Appropriate language for each scenario: [3]
(i) Mobile phone to-do list app: High-level language [1]. A mobile app requires rapid development, a rich user interface framework, and potentially cross-platform compatibility. High-level languages like Java (Android), Swift (iOS), or Kotlin provide built-in libraries for UI components, data storage, and network access. Low-level development would be impractically slow for this kind of application. [1]
(ii) Firmware for a microcontroller with 2KB memory: Low-level language (assembly) [1]. With only 2KB of memory, every byte matters. Assembly language gives the programmer direct control over memory usage and processor instructions, enabling extreme optimisation. High-level languages introduce overhead from runtime libraries and less efficient memory usage that could easily exceed the 2KB limit. [1]
(iii) Website with interactive features: High-level language [1]. Web development relies on languages like JavaScript, Python, or PHP that provide built-in support for HTTP requests, database access, HTML generation, and interactive features. These abstractions make it practical to build complex web applications. Low-level languages offer no web-specific tools and would make development impractically difficult. [1]
Everything you need to excel in your exams