Back to 课程

Computer-science_A-level_Cie

0% Complete
0/0 Steps
  1. computers-and-components
    6 主题
  2. logic-gates-and-logic-circuits
    2 主题
  3. central-processing-unit-cpu-architecture
    6 主题
  4. assembly-language-
    4 主题
  5. bit-manipulation
    1 主题
  6. operating-systems
    3 主题
  7. language-translators
    2 主题
  8. data-security
    3 主题
  9. data-integrity
    1 主题
  10. ethics-and-ownership
    3 主题
  11. database-concepts
    3 主题
  12. database-management-systems-dbms-
    1 主题
  13. data-definition-language-ddl-and-data-manipulation-language-dml
    1 主题
  14. computational-thinking-skills
    1 主题
  15. algorithms
    14 主题
  16. data-types-and-records
    2 主题
  17. arrays
    2 主题
  18. files
    1 主题
  19. introduction-to-abstract-data-types-adt
    1 主题
  20. programming-basics
    1 主题
  21. constructs
    2 主题
  22. structured-programming
    1 主题
  23. program-development-life-cycle
    2 主题
  24. program-design-
    2 主题
  25. program-testing-and-maintenance
    3 主题
  26. user-defined-data-types
    1 主题
  27. file-organisation-and-access-
    3 主题
  28. floating-point-numbers-representation-and-manipulation
    3 主题
  29. protocols
    2 主题
  30. circuit-switching-packet-switching
    1 主题
  31. processors-parallel-processing-and-virtual-machines
    5 主题
  32. boolean-algebra-and-logic-circuits
    4 主题
  33. purposes-of-an-operating-system-os
    3 主题
  34. translation-software
    3 主题
  35. encryption-encryption-protocols-and-digital-certificates
    3 主题
  36. artificial-intelligence-ai
    4 主题
  37. recursion
    1 主题
  38. programming-paradigms
    4 主题
  39. object-oriented-programming
    7 主题
  40. file-processing-and-exception-handling
    2 主题
  41. data-representation
    5 主题
  42. multimedia
    3 主题
  43. compression
    2 主题
  44. networks-and-the-internet
    11 主题
课 Progress
0% Complete

Paradigms

What is a programming paradigm?

  • A programming paradigm is a style or approach to programming that influences:

    • How programs are written

    • How problems are broken down

    • How solutions are structured

  • Different paradigms are suited to different types of problems and systems

Programming paradigms comparison table

Paradigm

Description

Key characteristics

Examples

Low-level

Closest to machine code, using mnemonics to directly control hardware

– Direct memory access
– Register manipulation
– Hardware-specific instructions

x86 Assembly, ARM Assembly

Imperative (Procedural)

Tells the computer how to perform tasks using sequences of commands

– Step-by-step instructions
– Use of loops, conditions
-Procedures/functions

C, Pascal, Python (procedural)

Object-Oriented

Models real-world entities using objects that combine data and behaviour

– Classes and objects
– Encapsulation, inheritance, polymorphism
– Modularity

Java, C++, Python (OOP)

Declarative

Describes what should be done, not how to do it

– Rule-based or logic-based
– No explicit control flow
– Focus on outcomes/results

SQL, Prolog, Haskell

Strengths and weaknesses of programming paradigms

Paradigm

Strengths

Weaknesses

Procedural

– Clear flow of control (top to bottom)
– Efficient for simple tasks
– Easy to implement algorithms
– Strong step-by-step logic

– Becomes hard to manage in large programs
– Poor modularity can lead to redundancy
– Not ideal for complex state-based systems

Object-Oriented

– Enhances modularity with encapsulation
– Real-world modelling via objects
– Code reuse through inheritance
– Polymorphism for flexible interfaces

– Can become overly complex
– Slower due to object overhead
– Misuse leads to bloated hierarchies
– Not ideal for every problem

Low-Level (Assembly)

– Complete control over hardware
– Highly optimised for performance
– Transparent view of machine operations

– Steep learning curve
– Hardware-specific, not portable
– Manual memory management is error-prone
– Difficult to debug/scale

Declarative

– Focuses on the result rather than the process
– Concise and expressive
– Suitable for complex logic or rule-based problems (e.g. AI, SQL queries)

– Harder to learn for beginners
– Less control over program flow
– Not suited for all types of problems
– Debugging can be challenging due to abstraction

Responses

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