2009年2月24日火曜日

テンプレートについて.

Title:テンプレートについて. 題記の件は、例えばコンピュータ プログラミングで、一つの処理をブラックボックスに例えていうと、
ブラックボックス(処理)に入力パラメータを与え ブラックボックスで何らかの処理をし、結果として変数などに値をセットしてブラックボックスの外に出てくる。
 この時、予め整数の値を入力パラメータとして与え、ブラックボックスで処理を行い、その結果を整数の数値で返す場合を考える。(ex.入力パラメータに'整数'2'を与え、ブラックボックス''power'内では二乗をし、結果を整数の値'4'を返してくる。)
この例を、発展させて、入出力パラメータを整数だけではなく、浮動小数点型単精度倍精度などで扱いたい場合が出てくる。
そういった場合、それぞれ数値の型ごとにブラックボックスを用意する必要がある。

 もう少し発展させた考えでは、入出力パラメータや内部の作業用変数を どの型で扱うかさえも、ブラックボックスを処理をさせる前に入力パラメータとして与えると行ったアイディアが考えられる。
この形であれば、ブラックボックスは一つで良い。

そういったプログラミングのやり方を、テンプレート プログラミングをいう。

 これらは、メタプログラミングとかいわれるものだと思うが、特に最新の目新しいアイディアでもなく プログラミングの始めたばかりの方から見るとハードルが高く、従来の伝統的なプログラマがこのソース プログラムを見ると奇異に感じると思う。
しかし、型に依存しないプログラミングとしては有効かと思う。
また、最近の言語製品の中には、全く型を意識しないものもある。
(ex.VB6の'Variant型'、VBdotNET(2008)'object型')
{私は、見ていてかなり違和感がある。}
~(atom)

0 件のコメント:

コメントを投稿