这一天等了很久,终于看到了这则消息:
Lua 5.1 (final) is now available at
http://www.lua.org/ftp/lua-5.1.tar.gz
Thank you very much for your patience during this long release process.
Special thanks to everyone that sent suggestions. They have helped make
Lua still better.
Enjoy! We can now focus on 5.2 :-)
--lhf
昨天在 gtalk 还在跟孟岩聊天,并介绍 lua 5.1 rc 的进展。当时我推断 final release 就在这几天,没想到来的这么快。
今天做了下 diff , 发现相对 rc4 做的最后一次修改正是满足了我前天提的一个需求,关于编译模块的 debug 信息的,真是荣幸啊。而 rc3 到 rc4 也是偶参乎的,关于 16 进制数的支持。这两个都是在一天之内被加到正式版中去的,不仅感叹国外开源组织的效率。
顺便再赞一个 luaJIT ,光是 DynASM 这个子项目就是精巧非常了。没见识过的朋友可以看看 examples 。
昨天晚上聊天的主要话题就是 lua 这种开源社区的效率和严谨。我觉得 lua 最大的优势在于,它的 source code 如此的精巧,以至于每个人都可以去把它读一遍,这样,整个 lua 对你就再没有秘密。用起来也会比 python 之流更加得心应手。如果有人去写一本 lua 源码剖析,那么绝对是一本经典的 C 语言教程。我从阅读 lua 的源码学到了许多以前不曾知道的 C 语言标准库,以及一些用 C 语言构建大规模项目的技巧。
lua 项目的严谨从 5.0 到 5.1 一个小版本的升级就花掉三年时间可以看出(而这三年保持着不衰的活跃) 。5.1 的代码比 5.0.2 漂亮了许多,光是多出一个 luaconf.h 的内容就可以体会作者之匠心。
而整个 lua 并没有因为版本升级而变得庞大的臃肿,恐怕跟他们的小团队有关。据说 lua 标准委员会只有 3 个人。(正是这样,合理的要求就会被迅速通过,正如我前几天提的一些特性的需求。当然你要理解 lua 的设计哲学。还可以勇敢的抛弃掉老版本中不太合理的东西。对比 C++ 标准,那简直太可怕了)同样的,受同事的影响,我对 freebsd 的好感远大于 linux 。freebsd 也拥有一个小团队,这使得他们的源码要漂亮许多。看过 crt 里的那些头文件的组织,我就有了这样的感慨。
我觉得我们游戏引擎的开发团队也要保持住现在的规模,呵呵。