メタプログラミングの普及は正常な進化

メタプログラミングとは、クラスなどのメタ情報を処理の中で操作するプログラム手法で、
Java等ではあまり使われない。なぜならコンパイル時にクラスの情報は固定化されてしまうため
で、せいぜいリフレクションでメタ情報を読み出す程度である。
処理中にメタ情報を更新できるということは、止められないシステムではかなり有利であると
最近思い始めた。例えば、人間に例えると、死ぬまでの間に細胞がどんどん生まれ変わっていったり、
運動して体を鍛えたりして、内部の機能を発達させたりというのは、
一種のメタプログラムではないかと思ったりするのである。
なので、ソフトウェアの世界で、メタプログラムが広がるのは、わりと正常な進化なのかも知れない。
とはいえ、メタプログラムの最中にバグでシステムが止まってしまう場合もあるわけで、
そのためには、チェック機能がうまく働いて、止まらないようにしなければ意味が無い。