パラダイム 【paradigm】
概要
パラダイム(paradigm)とは、ある時代の特定の分野の専門家が当然の前提として受け入れている考え方や物の見方、理論的な枠組みなどの総体。元は科学史の概念だが、現在では様々な分野で用いられる。科学史・科学哲学を専門とする米哲学者トーマス・クーン(Thomas S. Kuhn)が1962年に提唱した概念で、ある時代の科学者集団が共有している、研究の拠り所となる物の捉え方を指す。氏は科学の発展は一般に想像されるような直線的、累積的なものとは異なり、ときに不連続的な変革が起きることを指摘した。
ある時代に支配的な考え方にそぐわない業績は異端とされるが、時としてその時代には解決できなかった問題を矛盾なく鮮やかに解決できる優れた業績が現れる。科学者達は次第にその業績に導かれる新しい物の見方を拠り所とするようになり、前の時代と断絶した新しいパラダイムが築かれる。このようなパラダイムの転換・移行を「パラダイムシフト」(paradigm shift)という。
現在では科学以外の分野でも、ある時代に当たり前として共有されている考え方や物事の枠組みなどを指してパラダイムと呼ぶことがある。そして、社会環境の激変や新技術の登場など、それまでの前提が崩されるような変化によって新しい考え方に転換することをパラダイムシフトという。
プログラミングパラダイム
プログラミングの分野では、プログラミング言語が規定するプログラムの枠組みのことをプログラミングパラダイムという。開発者がプログラムをどういうものとして捉えるべきかを示した規範で、言語によって同じ処理を行うプログラムでも書き方が異なる。
例えば、命令形プログラミング(imperative programming)ではプログラムを命令の列として記述するが、関数型プログラミング(functional programming)ではプログラムを関数の組み合わせとして記述する。オブジェクト指向プログラミング(OOP:Object-Oriented Programming)では互いに関連するデータと手続きを一つのオブジェクトとして定義する。
プログラミング言語は単一のパラダイムで仕様が構成されているものもあるが、近年ではオブジェクト指向型と関数型など、複数のパラダイムを取り込んだマルチパラダイム型の言語が多く、「オブジェクト指向言語」「関数型言語」のように言語を一つのパラダイムに分類するのは難しくなっている。