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"]

A classification of programming thinking and description methods.