Markdown

プログラミングパラダイム - Markdown

プログラミングパラダイムとは、プログラムを記述する際の基本的な考え方やアプローチを定義する枠組みです。主に命令型(手続き型、オブジェクト指向型)と宣言型(関数型、論理型)の2大分類があり、それぞれ異なる問題解決の方法論を提供します。現代のプログラミング言語は多くが複数のパラダイムをサポートしており、開発者は課題に応じて最適なパラダイムを選択することができます。

プログラミング ソフトウェア開発 プログラミング言語 設計手法 コーディング
| code | slug | name | description | category | languages |
| --- | --- | --- | --- | --- | --- |
| 01 | procedural | 手続き型 | 順序立てた手続き(プロシージャ)でプログラムを構成するパラダイムです。 | 命令型 | ["C","Pascal","COBOL","Go","BASIC"] |
| 02 | object-oriented | オブジェクト指向型 | データと手続きを「オブジェクト」にまとめて構成するパラダイムです。 | 命令型 | ["Java","C++","Python","C#","Ruby","Smalltalk","Simula"] |
| 03 | functional | 関数型 | 数学的な関数の組み合わせでプログラムを構成するパラダイムです。 | 宣言型 | ["Haskell","Scala","Erlang","F#","Lisp","Clojure","ML"] |
| 04 | logic | 論理型 | 論理式とルールに基づいて推論により問題を解決するパラダイムです。 | 宣言型 | ["Prolog","Datalog","Answer Set Programming (ASP)"] |
| 05 | concurrent | 並行型 | 複数の処理を同時に実行することを重視するパラダイムです。 | その他 | ["Go","Erlang","Rust","Java","C#"] |
| 06 | generic | 汎用型 | パラメータ化された型や型クラスを使用するパラダイムです。 | その他 | ["C++","Java","C#","Haskell","Rust","Swift"] |