Cha*_*art 62 lua language-design
Lua在可以嵌入的语言空间中占有一席之地.Lua设计的新思想背后的主要思想是实现者,还是Lua主要是一个完善的创意组合?
Lua与其他PL的性质和特征的比较是特别合适的.
Nor*_*sey 134
这是一个非常有趣的问题.我的日常工作是学习编程语言,Lua将回报仔细研究.我会说很少有其他语言(也许是Icon和CLU).请注意,它是整个语言,而不是个人功能,这使得Lua值得学习.
这是实施者所拥有的有趣的新想法的结果,还是由于良好执行完善的想法的结果?
都.有关详细信息,您回答这个问题的最佳来源是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论文,您会发现Lua团队非常了解编程语言的许多发展,并且能够从最佳创意中进行选择.大多数流行脚本语言的设计者都是业余爱好者,并且几乎没有得到充分的了解.
Lua 设计精良,使得这些部件非常贴合,具有出色的功率重量比.这是随着时间的推移进行大量改进的结果,PUC-Rio愿意让Lua团队致力于语言设计和实施,而不是研究大量的论文.这项工作不可能在北美大学完成.
Lua 设计精良.实施非常好.这是优秀工程师的部分伟大工作,部分是在15年内不断修改设计的机会.
最后,我要求读者不要低估选择和完善既定想法以形成连贯整体的难度.这是极其困难的工作,很少被人们认可.
Lua支持函数式编程,它基于基于Prototype的编程风格,灵活而强大.
IMO这是一种有趣的语言.
如果你想阅读关于原型继承的一些想法,我建议你
阅读Steve Yegge的The Universal Design Pattern博客文章.