Loading article…
高階プログラミングは、関数、モジュール、オブジェクトなどのソフトウェアコンポーネントを値として使用するコンピュータプログラミングのスタイルです。通常、高階関数を多用するラムダ計算などの計算モデルを使用してインスタンス化されるか、またはそのようなモデルから借用されます。プロシージャやラベルなどのコンポーネントをデータと同じように使用できる場合、プログラミング言語は高階であると考えられます。たとえば、これらの要素は引数や値と同じように使用できます。[1]
たとえば、高階プログラミングでは、関数を他の関数の引数として渡すことができ、関数は他の関数の戻り値になることができます (マクロ内やの解釈など)。このスタイルのプログラミングは主に関数プログラミングで使用されますが、オブジェクト指向プログラミングでも非常に役立ちます。オブジェクト指向プログラミングのコンテキストにおける高階プログラミングの少し異なる解釈は、高階メッセージです。高階メッセージでは、メッセージは関数ではなく他のメッセージを引数として持つことができます。
これをサポートする言語の例としては、Ada、Wolfram Language、C#、Java、ECMAScript(ActionScript、JavaScript、JScript)、F#、Haskell、Lisp(Common Lisp、Scheme、Clojure、その他)、Lua、Oz、Perl、PHP、Prolog、[2] Python、Ruby、Smalltalk、Scala、ML、Erlangなどが挙げられます。
参照
参考文献
- ^ Reynolds, John C. (1972). 「高階プログラミング言語の定義インタープリタ」(PDF)。 ACM 年次会議議事録 - ACM '72 (レポート)。第 2 巻。Association for Computing Machinery。pp. 717–740。doi : 10.1145/ 800194.805852。ISBN 9781450374927. 2021年12月19日閲覧。
- ^ Naish, Lee (1996). Prolog での高階論理プログラミング (レポート). メルボルン大学コンピュータサイエンス学部. CiteSeerX 10.1.1.35.4505 .
外部リンク
- Sjoerd Visscher 著「高階プログラミング」(サンプル言語として JavaScript を使用)
