Back to 课程

Computer-Science-A-level-Ocr

0% Complete
0/0 Steps
  1. 3-3-networks
    8 主题
  2. 3-2-databases
    7 主题
  3. 3-1-compression-encryption-and-hashing
    4 主题
  4. 2-5-object-oriented-languages
    7 主题
  5. 2-4-types-of-programming-language
    4 主题
  6. 2-3-software-development
    5 主题
  7. 2-2-applications-generation
    6 主题
  8. 2-1-systems-software
    8 主题
  9. 1-3-input-output-and-storage
    2 主题
  10. 1-2-types-of-processor
    3 主题
  11. 1-1-structure-and-function-of-the-processor
    1 主题
  12. structuring-your-responses
    3 主题
  13. the-exam-papers
    2 主题
  14. 8-2-algorithms-for-the-main-data-structures
    4 主题
  15. 8-1-algorithms
    10 主题
  16. 7-2-computational-methods
    11 主题
  17. 7-1-programming-techniques
    14 主题
  18. 6-5-thinking-concurrently
    2 主题
  19. 6-4-thinking-logically
    2 主题
  20. 6-3-thinking-procedurally
    3 主题
  21. 6-2-thinking-ahead
    1 主题
  22. 6-1-thinking-abstractly
    3 主题
  23. 5-2-moral-and-ethical-issues
    9 主题
  24. 5-1-computing-related-legislation
    4 主题
  25. 4-3-boolean-algebra
    5 主题
  26. 4-2-data-structures
    10 主题
  27. 4-1-data-types
    9 主题
  28. 3-4-web-technologies
    16 主题
课 Progress
0% Complete

Programming Paradigms

What are programming paradigms?

  • Programming paradigms are established conventions and practices that dictate how computer programs are structured and developed

  • Programming paradigms offer varied methodologies for software construction

  • Different paradigms are suited to different tasks, e.g. simple web applications can be achieved with light-weight procedural languages, complex enterprise-level software can only be achieved with a complex object-oriented paradigm

  • New paradigms arise, and existing ones adapt in response to changes in computing and software challenges

Overview of programming paradigms

Paradigm

Description

Examples of Languages

Key Concepts

Procedural

A subtype of imperative, structured around procedure calls.

C, Go, Rust

Procedures, function calls, structured programming

Object-Oriented

Organises code around “objects” (which combine data and functionality) rather than functions.

Java, C#, Swift

Classes, inheritance, polymorphism, encapsulation

Assembly

Low-level mnemonic representation of machine code for a specific computer architecture.

x86-64 Assembly, ARMv8 Assembly

Registers, mnemonics, memory addresses, opcodes

Strengths & weaknesses of programming paradigms

Paradigm

Strengths

Weaknesses

Procedural

  • Efficient execution of straightforward tasks

  • A clear flow of control (top to bottom)

  • Ease of implementation for algorithms

  • Strong emphasis on step-by-step procedure execution

  • Can become unwieldy for large programs

  • Lack of modularity can lead to code redundancy

  • Not ideal for applications with complex states or behaviours

  • Difficulty in managing and scaling the system as it grows

Object-Oriented

 

  • Enhances modularity with encapsulation

  • Enables real-world modelling using objects

  • Code reuse through inheritance

  • Polymorphism allows flexibility in interface design

  • Can lead to unnecessary complexity

  • Inefficiency due to overhead (e.g., memory for objects)

  • Not always intuitive for all types of problems

  • Misuse can lead to overly complex inheritance hierarchies

Assembly

  • Direct control over hardware

  • Optimised performance due to low-level operations

  • A transparent understanding of how the machine operates

  • Potential for very efficient code

  • Extremely steep learning curve

  • Hardware-specific, leading to a lack of portability

  • Tedious and error-prone due to manual memory management.

  • Difficult to write, debug, and maintain large programs

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注