A classification of programming thinking and description methods.
Overview
Programming Paradigms
Programming paradigms are frameworks that define fundamental approaches and ways of thinking when writing programs. They are mainly divided into two categories: imperative (procedural, object-oriented) and declarative (functional, logic), each providing different problem-solving methodologies. Most modern programming languages support multiple paradigms, allowing developers to choose the most suitable paradigm for their specific challenges.
programming
software development
programming languages
design patterns
coding
| code | slug | name | description | category | languages |
|---|---|---|---|---|---|
| 01 | procedural | Procedural Programming | A paradigm that structures programs as sequential procedures. | Imperative | ["C","Pascal","COBOL","Go","BASIC"] |
| 02 | object-oriented | Object-Oriented Programming | A paradigm that organizes data and procedures into objects. | Imperative | ["Java","C++","Python","C#","Ruby","Smalltalk","Simula"] |
| 03 | functional | Functional Programming | A paradigm that composes programs using mathematical functions. | Declarative | ["Haskell","Scala","Erlang","F#","Lisp","Clojure","ML"] |
| 04 | logic | Logic Programming | A paradigm that solves problems through logical inference based on logical expressions and rules. | Declarative | ["Prolog","Datalog","Answer Set Programming (ASP)"] |
| 05 | concurrent | Concurrent Programming | A paradigm that emphasizes executing multiple processes simultaneously. | Other | ["Go","Erlang","Rust","Java","C#"] |
| 06 | generic | Generic Programming | A paradigm that uses parameterized types and type classes. | Other | ["C++","Java","C#","Haskell","Rust","Swift"] |