Programming paradigm Imperative/Process type (imperative/procedural)
Representative Language FORTRAN/PASCAL/C
Core concept command/process (command/procedure)
Run mechanism command execution
Key breakthroughs break the limits of single main and non-structured programs
Introduction of logic Control and sub-program in implementing principle
The main purpose is to simulate the machine thinking and realize the top-down module design.
Common applications Interactive, event-driven systems, numerical calculations, etc.
Programming Paradigm Functional/Applied (functional/applicative)
Representative Language Scheme/haskell
Core concept function (Funcation)
Run-Mechanism expression evaluation
Key breakthroughs break the limits of machine thinking
The implementation principle introduces higher order functions and functions as data processing
The main objective is to simulate mathematical thinking, simplify code, and reduce side effects
Common application of calculus calculation, mathematical logic, game, etc.
Programming paradigm Logical (LOGIC)
Representative Language Prolog/mercury
Core concept assertion (predicate)
Operational mechanism Logic Calculation
Key breakthrough logic and console adhesion limitations
The implementation principle uses the inference engine to make logical inferences based on known facts and rules
The main purpose is to focus on logical analysis and reduce the control code
Common Application machine proofs, expert systems, natural language processing, Semantic web (semantic), decision analysis, business rules management, etc.
Programming Paradigm Object Style (object-oriented)
Representative Language Smalltalk/java
Core Concept objects (object)
Information exchange between operating mechanism objects
Key breakthrough breakthrough data and code separation limitations
Implementation principle introduces encapsulation, inheritance and polymorphism mechanism
The main purpose is to cater to human cognitive patterns and improve the usability and reusability of software.
Common applications large and complex interactive systems, etc.
Programming paradigm concurrency/parallel (concurrent/parallel)
Representative Language Erlang/oz
Core Conceptual processes/threads (Process/thread)
Running mechanism process/inter-thread communication and synchronization
Breakthrough serial limit for critical breakthroughs
Implementation principle introduces concurrent threading module and communication and synchronization mechanism between modules
The main purpose is to make full use of resources, improve operational efficiency and improve software responsiveness.
Common applications graphical user interface, I/O processing, multitasking systems such as operating systems, network services, real-time systems, embedded systems, computing-intensive systems such as scientific computing, artificial intelligence, etc.
Programming Paradigm Generics (Generic)
Representative Language ada/eiffel/c++
Core concept algorithm (algorithm)
Run mechanism algorithm instantiation (more in compiler)
Key breakthroughs break through the limitations of static type language
Implementation principle using template delay type designation
Main purpose to improve the universality of the algorithm
Common application of universal algorithms such as sorting, searching, etc., collection class containers, etc.
Programming paradigm meta-programming (meta-programming)
Representative Language Lisp/ruby/javascript
Core concept meta-Program (METAPROGRAM)
Run mechanism dynamically generate code or automatically modify execution instructions
Key breakthroughs breakthrough language's general grammatical limitations
The implementation principle uses the mechanism of code generation or language built-in reflection (reflection) and dynamics to process program language as data
The main objective is to reduce manual coding and improve language level
Common applications automatic code generation, definition of structured profiles, Ides, compilers, interpreters, AI, model-driven architecture (MDA), domain-specific languages (DSLS), etc.
Programming Paradigm Slice (aspect-oriented)
Representative Language aspectj/aspectc++
Core concept Facets (Aspect)
Operating mechanism to implement recommendations at the access point
Key breakthroughs break through the limitations of crosscutting concerns that cannot be modularized
The implementation principle embeds additional behavior into the main program by weaving (weaving)
The main purpose is to realize the separation of crosscutting concerns.
Common Application log output, code tracking, performance monitoring, exception handling, security checks, transaction management, and more
Programming Paradigm Event-driven (Event-driven)
Representative Language C#/vb.net
Core concept Events (event)
Run mechanism listener responds after receiving event notification
Critical breakout sequence, synchronized process limits
Implementation principle introduces control inversion and asynchronous mechanism
The main purpose caller is decoupled from the callee in code and time
Common Application Graphical user interface, Web application, server, operating system, IOC framework, asynchronous input, DOM, etc.
"Colon class" "Reading Notes" programming paradigm collation