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

プログラミングパラダイム: programming paradigm)とは、プログラミングにおける模範である。

概要

プログラミングパラダイムは、プログラマにプログラムの見方を与えるものと言える。例えばオブジェクト指向プログラミングでは、プログラムとはオブジェクトを作りそれを管理するもの。関数型言語では、状態を持たない関数の評価の連続。

プログラミング言語が違えば、対応できるパラダイムも違ってくる。SmalltalkJavaは、手続き型やオブジェクト指向、Haskellは、関数プログラミング、というように、比較的少数のパラダイムに対応している。一方、多数のパラダイムに対応した言語(マルチパラダイムプログラミング言語)もある。

多くのプログラミングパラダイムには禁じ手がある。純粋な関数型プログラミングでは、副作用があってはならない。構造化プログラミングでは、gotoの無制限な利用が戒められる。特にこの理由により、古いスタイルに慣れた者からは、よく非現実的または過剰に厳密なものと見なされる。しかし、こうした特定のテクニックを避けることで、プログラミング言語の一般の法則に制約されず、プログラムの正確さ(または単にその動作の理解)についての法則を証明しやすくする。

マルチパラダイムプログラミング言語が登場してから、プログラミングパラダイムとプログラミング言語との関連は複雑になっている。たとえば、C++手続き型プログラミングジェネリックプログラミングオブジェクト指向プログラミングに対応するよう設計されているが、設計時には個々の部分毎にどのパラダイムを使うか選ぶ必要に迫られる。あるプログラムは全て手続き型プログラミングで作り、またあるプログラムは全てオブジェクト指向で作り、また別のプログラムは両方を混在して作るという具合である。

比較されるものは横に並べてある。括弧内はそれを用いている例である。

関連項目

コンピュータ・プログラミング言語
低水準言語
高水準言語
1950年代
1960年代
1970年代
1980年代
1990年代
2000年代
2010年代
架空の言語
コンピュータ・プログラミング言語の関連項目
言語水準
言語処理系
言語分類
その他
関連項目
ハードウェア
コンピュータシステムの構造
ネットワーク
  • ネットワーク・アーキテクチャ(英語版)
  • 通信プロトコル
  • ネットワーク・コンポーネント(英語版)
  • ネットワーク・スケジューラ(英語版)
  • ネットワーク性能評価(英語版)
  • ネットワーク・サービス(英語版)
ソフトウェアの構造
ソフトウェア記法(英語版)
ツール
ソフトウェア開発
計算理論
アルゴリズム
コンピューティングの数学
情報システム
セキュリティ
ヒューマンコンピュータ
インタラクション
並行性
人工知能
機械学習
グラフィックス
応用コンピューティング
  • 概要(英語版)
  • カテゴリ カテゴリ
  • ウィキペディア・ブック ブック
  • コモンズ コモンズ
典拠管理データベース: 国立図書館 ウィキデータを編集
  • ドイツ
  • 表示
  • 編集