Eru*_*rup 16 programming-languages metaprogramming
在您看来,学习和使用元编程的最佳语言(在简单性,可读性和代码优势方面)是什么?
我认为元编程是"编码的未来".不是说代码会灭绝,但我们可以看到这种情况会出现在新技术上.
首先 - 我认为我不同意你的观点,即"元编程是'编码的未来'".这是一个伟大的工具,但不是每个人都喜欢它(例如,Java的设计者留下了宏故意的语言-不,我喜欢Java的,但人们也有理由反对元编程).
无论如何......我可以想到两种不同的元编程方式:在合成级别和运行时.
对于语法元编程,我认为Scheme是一个很好的选择(如果你没有提到简单性等我建议使用Common Lisp).对于运行时元编程,我猜Prolog和Smalltalk都非常有趣.(您可以动态添加,更改和删除事实到Prolog数据库;您可以动态更改Smalltalk对象).您也可以在Ruby中执行运行时元编程,但我不了解Ruby.
所以 - Scheme中有几种不同的元编程方法(不同的宏系统).我建议你看看一些基本的Scheme书,然后阅读两个不同的宏系统.
一些好的计划书:
Scheme实现彼此非常不同,因此您也将使用Scheme实现手册.
有些地方要了解Scheme宏:
如果您决定使用比Scheme更大且更混乱的语言,请尝试使用Common Lisp.我建议有三本书:
对于Prolog的,你可以阅读Clocksin和Mellish"在序言编程"(获得最新版本!),后来被温顿,Vellino和纽特移动到"Prolog的编程详解".见第6章.
有很多好的Smalltalk书籍.我喜欢Simon Lewis的"The Small and Science of Smalltalk".有一个非常漂亮的卡诺尔Gokel免费教程/底漆约Smalltalk的太(但它不会去尽可能的教学元编程).
Lisps几乎是各种元编程技术的首选语言.在现有的Lisps中,我建议使用Clojure作为一个更容易访问的Lisp,如果你想要一个既强大又立即有用的东西,它可以访问一个积极的巨大的库(Java中的任何东西).
对于元编程的其他方法,几乎任何函数式语言都可以解决问题. Haskell是学习技巧和函数式编程的不错选择,但不是我现在称之为实际工作的最实用的语言. Erlang更实用,但不太适合元编程. OCaml是另一种可能的选择,但在实用性方面也有一点不足.然而,它在许多方面比Haskell更容易访问.
在脚本语言世界中,Ruby是一种语言,元编程是一种流行的技术.它的方法模糊地类似于Lisp,但具有更传统的语法.然而,它缺乏Lisp的全部功能和灵活性,但另一方面,除了上面的Clojure之外,它还具有更直接的实用性.
Ruby 具有非常强大且灵活的元编程功能。