プログラミングパラダイム
ご協力下さい!!
◇暇つぶし何某◇

[Wikipedia|▼Menu]

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。
出典を追加して記事の信頼性向上にご協力ください。(2015年12月)

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

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

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

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

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

この節には独自研究が含まれているおそれがあります。問題箇所を検証出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2017年1月)

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

データ指向プログラミング[要出典]

構造化プログラミング - 非構造化プログラミング

命令型プログラミング - 宣言型プログラミング

メッセージ送信プログラミング(アクターモデル

手続き型プログラミング - 非手続き型言語

逐次実行型プログラミング[要出典] - イベント駆動型プログラミング

スカラプログラミング[要出典] - ベクトルプログラミング[要出典]

クラスベースプログラミング - プロトタイプベースプログラミングオブジェクト指向プログラミングの中での分類

制約プログラミング

論理プログラミング

関数型プログラミング

コンポーネント指向プログラミング (OLE)

アスペクト指向プログラミング (AspectJ)

パイプラインプログラミング [要出典](パイプ

課題指向プログラミング[要出典]

リフレクティブプログラミング

データフロープログラミング

リアクティブプログラミング(英語版) (スプレッドシート)


ご協力下さい!!
★暇つぶし何某★

[次ページ]
[記事の検索]
[おまかせリスト]
[ブックマーク登録]
[mixiチェック!]
[Twitterに投稿]
[オプション/リンク一覧]
[話題のニュース]
[列車運行情報]
[暇つぶしWikipedia]

Size:20 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:FIRTREE