元程式設計
維基百科,自由的 encyclopedia
元程式設計(英語:Metaprogramming),又譯超程式設計,是指某類電腦程式的編寫,這類電腦程式編寫或者操縱其它程式(或者自身)作為它們的資料,或者在編譯時完成部分本應在執行時完成的工作。多數情況下,與手工編寫全部代碼相比,程式設計師可以獲得更高的工作效率,或者給與程式更大的靈活度去處理新的情形而無需重新編譯。
此條目需要擴充。 (2018年12月18日) |
此條目沒有列出任何參考或來源。 (2014年10月9日) |
編寫元程式的語言稱之為元語言。被操縱的程式的語言稱之為「目標語言」。一門程式語言同時也是自身的元語言的能力稱之為「反射」或者「自反」。
反射是促進元程式設計的一種很有價值的語言特性。把程式語言自身作為一級資料類型(如LISP、Forth或Rebol)也很有用。支援泛型程式設計的語言也使用元程式設計能力。
元程式設計通常通過兩種方式實現。一種是通過應用程式程式設計介面(APIs)將執行時引擎的內部資訊暴露於程式碼。另一種是動態執行包含程式設計命令的字串表達式。因此,「程式能夠編寫程式」。雖然兩種方式都能用於同一種語言,但大多數語言趨向於偏向其中一種。