Lua与其他PL的性质和特征的比较是特别合适的。
解决方法
Is this a result of interesting new ideas the implementors had,or is it a result of good execution of well-established ideas?
都。有关详细信息,您对此问题的答案的最佳来源是论文The Evolution of Lua,其出现在第三届ACM编程语言历史研讨会上。但我会补充几点意见。
>使用Lua表作为唯一的可变,非原子类型的数据是由Lua团队发明的。他们受到CLU的发展的启发,我相信他们知道在Awk和Icon类似的工作,但是这个程度的改进是Lua团队的重要贡献。
表也有一个非常有效的实现,这是由Lua团队发明的。
> Lua的功能特征与Scheme具有相同的语义,但Lua有一个独特的第一类函数实现,我认为它应该在函数式编程杂志中提交出版。
>多年来,嵌入式API已经大大改进。它的主要区别特征是用户定义的抽象类型可以完全参与嵌入。这是使Lua API优于Tcl API的属性。 Lua API多年来经历了大量的改进,包括自从2.5版本首次发布以来。 Lua设计师在这里应得到很大的信任。
>垃圾收集技术是标准的。
> Lua协程代表了一些新的想法。新的考虑被认为是值得出版在ACM交易编程语言和系统,所以再次我认为Lua团队得到的独创性的信用。
> Lua Metatables与Common Lisp元对象协议相关。
我认为Lua的成功来自于Lua团队的独特优势:
>如果你阅读HOPL paper,你会看到Lua团队非常了解编程语言的许多发展,并且能够从最好的想法中选择。流行的脚本语言的大多数设计师都是业余爱好者,并没有得到如此充分的信息。
> Lua的设计非常好,使得这些部件非常好地配合在一起,具有优异的功率重量比。这是随着时间的推移进行了大量改进的结果,PUC-Rio愿意让Lua团队开展语言设计和实现,而不是研究大量的论文。这项工作不可能在北美大学做过。
> Lua是精心设计的。实现只是令人吃惊的好。这是伟大的工程师的一部分伟大的工作,部分有机会在15年内不断修改设计。
我会通过要求读者不要低估选择和完善既定想法以形成一个连贯的整体的困难。这是非常困难的工作,很少被认为应该是。