元编程的思想是一种新的编程细想吗

元编程的思想

 

 

      当我读到上一节函数式编程觉得有点落后时,接着看到了作者讲到的另外一种编程编程的想法,称为元编程思想。
      觉得这个词很有意思的,刚开始还以为是作者弄错了,应该是“源”编程思想,在仔细阅读下去以后,内容是这样的:
       根据自由百科全书(http://www.wikipedia.org)的定义:编写一些程序来提前生成一些数据或代码供运行时使用,用来生成这些数据信息或代码的程序称为元程序(MetaProgram),编写这种程序就称为元编程(MetaProgramming)。
        元编程在计算机编程中运用得非常广泛。如果你有一个很大的应用程序,这个程序有很多函数都包括了同样的代码,那么就可以创建一个小型的程序(如C语言的宏定义),使用它来生成这些具有共同功能的代码,剩余更多的时间来实现重要的部分。
      元编程有很多种实践方式,但其核心思想始终不变:用程序构造新的程序。构造新的程序乍看似乎颇为高深,其实不然,这里所说的构造新的程序仅表示通过一定的逻辑关系使程序具备新的功能。
       在JavaScript中,对一个function来说,JavaScript引擎既可以把它当做一个方法来执行,又可以把它作为一个对象类型来构造。然 而它们是不同的,除了形式上的不同之外,其作用也不同。主要区别是:作为一个function,既可以直接执行,又可以充分地利用function代码体 的上下文,如享受到apply或call等方法带来的便利;而作为一个构造方法使用,则受到比较大的限制,缺少了function的灵活性。
在JavaScript中实践元编程,其中所谓的元程序就是function,而供运行时使用的数据或代码就是Function或function引出的一系列扩展。
        阅读完这节以后,我才发现所谓的元编程与函数式编程的思想是差不多的,启事可以简单的理解为元编程是函数式编程的一个扩展。

posted @ 2009-03-17 15:29  我的javaIT  阅读(156)  评论(0编辑  收藏  举报