TSV
Programming Language Paradigms - TSV
Programming language paradigms are fundamental styles or approaches that define the structure and execution of programs. Major paradigms include imperative, declarative, object-oriented, and functional, each offering different approaches to problem-solving. Many modern languages are designed as multi-paradigm languages, combining multiple paradigms to allow developers to choose the most suitable approach for their problems.
programming
paradigm
imperative
declarative
object-oriented
functional
software engineering
code slug name description category exampleLanguages keyCharacteristics
IMP imperative Imperative Programming A paradigm consisting of step-by-step instructions that change program state. Imperative ["C","Fortran","BASIC","Pascal","COBOL"] ["ステートメントの逐次実行","変数と代入","制御フロー(ループ、条件分岐)","メモリ状態の変更"]
PROC procedural Procedural Programming A derivative of imperative paradigm that emphasizes reusable procedures (functions). Imperative ["C","C++","Java","Pascal","Go"] ["関数・手続きの定義","コードの再利用性","構造化された制御フロー","スコープとモジュール性"]
OOP object-oriented Object-Oriented Programming A paradigm centered around objects that encapsulate data and behavior. Imperative ["Java","C++","Python","Ruby","C#","Smalltalk","Simula"] ["カプセル化","継承","多態性(ポリモーフィズム)","抽象化","クラスとオブジェクト"]
DEC declarative Declarative Programming A paradigm that describes 'what' to achieve, abstracting away the control flow of 'how' to achieve it. Declarative ["SQL","HTML","CSS","Prolog","Haskell"] ["結果の記述","制御フローの抽象化","副作用の排除","高い可読性"]
FUNC functional Functional Programming A paradigm that treats computation as the evaluation of mathematical functions, emphasizing immutability and avoiding side effects. Declarative ["Haskell","Scala","Clojure","Erlang","F#","Lisp","ML"] ["純粋関数","不変性(イミュータビリティ)","高階関数","関数合成","再帰","副作用の回避"]
LOGIC logic Logic Programming A declarative paradigm where facts and rules are described, letting the system infer solutions. Declarative ["Prolog","Datalog","Answer Set Programming (ASP)"] ["事実とルールの記述","論理推論","パターンマッチング","バックトラッキング"]
REACT reactive Reactive Programming A paradigm focused on asynchronous data streams and the propagation of change. Other ["RxJava","RxJS","Reactor","Akka","Elm"] ["データストリーム","非同期処理","イベント駆動","バックプレッシャー制御","変更の伝播"]
PARA parallel Parallel Programming A paradigm that distributes processing across multiple processors for simultaneous execution. Other ["CUDA","OpenMP","MPI","C++ (with libraries)","Go"] ["マルチスレッド/マルチプロセス","タスク分割","同期と通信","負荷分散"]
EVENT event-driven Event-Driven Programming A paradigm structured around event occurrences and the execution of their handlers. Other ["JavaScript","C#","Visual Basic","ActionScript"] ["イベントループ","コールバック/ハンドラ","非同期処理","発行・購読モデル"]
GENERIC generic Generic Programming A paradigm that abstracts data types to write reusable code independent of specific types. Other ["C++ (Templates)","Java (Generics)","C#","Rust","Ada"] ["型パラメータ","テンプレート/ジェネリクス","型安全性","コードの再利用性"]