在你看来,学习和使用元编程的最佳语言是什么(就简单性、可读性和代码优雅而言)?
我认为元编程是“编码的未来”。并不是说代码将会消亡,但我们可以看到新技术将出现这种情况。
发布于 2010-05-21 21:21:53
首先--我不认为我同意你所说的“元编程是‘编码的未来’”。它是一个很棒的工具,但并不是每个人都喜欢它(例如,Java设计人员故意将宏排除在语言之外--并不是说我喜欢Java,但人们确实有理由反对元编程)。
不管怎样..。我可以想到两种不同的方式进行元编程:在语法级别和在运行时。
对于语法元编程,我认为Scheme是一个很好的选择(如果你没有提到简单性等,我建议使用Common Lisp)。对于运行时元编程,我猜Prolog和Smalltalk都非常有趣。(您可以动态地向Prolog数据库添加、更改和删除事实;还可以动态更改Smalltalk对象)。你可能也可以用Ruby进行运行时元编程,但我不知道Ruby。
因此--在Scheme (不同的宏系统)中有几种不同的元编程方法。我建议你先看看一些基本方案书,然后再阅读两种不同的宏系统。
一些不错的方案书籍:
Scheme实现彼此之间有很大的不同,因此您也会经常使用Scheme实现手册。
了解Scheme宏的一些地方:
如果您决定使用一种比Scheme更庞大、更混乱的语言,请尝试使用Common Lisp。我推荐三本书:
对于Prolog,您可以阅读Clocksin和Mellish的"Programming in Prolog“(获取最新版本!)然后转到Covington,Vellino和Nute的"Prolog Programing in Depth“。参见第6章。
有很多好的Smalltalk书籍。我喜欢西蒙·刘易斯的“Smalltalk的艺术与科学”。关于Smalltalk也有一个非常好的free tutorial/primer by Canol Gokel (但它没有传授元编程那么远)。
发布于 2010-05-21 21:07:14
元编程是什么意思?元编程是一组概念,而不是一种特定的技术。
请参阅this answer,在那里我列出了各种概念和相关语言。以下是摘要:
有关更多详细信息,请参阅完整答案。一般来说,我认为Ruby是一个好的面向对象的全才。否则,任何类似Lisp的is都可以完成这项工作:它就像是您手中的putty。但这取决于你想做什么.
发布于 2010-05-21 21:13:26
Lisp几乎是各种元编程技术的首选语言。在可用的现代Lisp中,如果您想要既强大的又能立即使用的东西,我会推荐Clojure作为一种更易于访问的Lisp,它可以访问一个非常巨大的库(Java语言中的任何东西)。
对于元编程的其他方法,几乎任何函数式语言都可以做到这一点。对于学习技术和函数式编程来说,Haskell是一个很好的选择,但在这个时候,我认为它不是最实用的语言。Erlang更实用,但不太适合元编程。OCaml是另一个可能的选择,但在实用性方面也有一些问题。然而,在许多方面,它比Haskell更容易访问。
在脚本语言世界中,Ruby是一种元编程是一种流行技术的语言。它的方法有点类似Lisp,但语法要传统得多。然而,它缺乏Lisp的全部功能和灵活性,但另一方面,除了上面的Clojure之外,它具有更直接的实用价值。
https://stackoverflow.com/questions/2882199
复制相似问题