转自
Python versus Lua Versus Ruby
Python、Lua和Ruby——脚本大P.K.
Tom Gutschmidt 著
赖勇浩( ) 译
So which of the three languages is the best to use on your project? That depends a great deal on what you want to accomplish. To wrap up the book, I've outlined some of the pros and cons of each language in this section.
这三种语言中的哪一种更合适你的项目?很大程度取决于你想达到什么样的目标。作为一书的结尾,在这一节里,我会描述一下它们各自的优点和不足。
Python Pros and Cons
Python的优点和不足
The pros of Python are as follows:
Python的优点如下:
· Python has more extension modules than the other languages.
· Python比其它语言有更多扩展模块。
· Many online Python tutorials exist. There are also plenty of English books and reference materials, many sample scripts exist online, and there is a wealth of introductory material. The Python.org Website is a good place to start looking for these because it has sections for beginners, tutorials, guides organized by topic, and lists of links and references.
· 在网上可以找到很多Python教程。不仅如此,还有大量的英文书籍和资料。Python.org有很多为初学者准备的依主题组织的资料、教程和编程指南,此外还有很多链接和参考。
· Most folks really enjoy the syntax of the Python language because it appears clean and is easy to read.
· 很多人都喜欢Python语言的语法,因为它清晰易读。
· Python has an edge where libraries are concerned. There are many libraries, and, for the most part, they are well documented.
· Python在支持库上大占优势,因为它有很多库,而且大部分都有完善的文档支持。
· Lots of tools that tie into Python are available, and they are often easier to find than the tools for Lua and Ruby.
· 很多工具可以用于Python,但难以找到适用于Lua和Ruby的。
The cons of Python are as follows:
Python的不足:
· Existing Python debuggers are considered quirky and slow. Debugging support on Macintosh and consoles is even weaker.
· 现有的Python调试器诡异而且效率低下。在Macintosh(苹果计算机)和控制台下进行调试是一个梦魇。
· It can be difficult to bundle Python with other languages. There are lots of binary DLLs, and Python has (compared to the other languages) a large standard distribution.
· Python难以与其它语言集成,它有太多的二进制DLL,而且Python带了巨大的标准发布包。
· Lots of folks really dislike the white space sensitivity of Python syntax.
· 同样的,也有很多人不喜欢Python对空白符敏感的语法。
· Python can be quite slow at times, as everything is an object on the heap.
· 因为堆上的任何东西都是对象,所以Python有时候会慢得难以忍受。
Lua Pros and Cons
Lua的优点和不足
The pros of Lua are as follows:
Lua的优点:
· Lua is probably the fastest of the three languages and usually uses the least amount of runtime memory.
· Lua在这三种语言中是运行时速度最快而且占内在最少的。
· Lau has the smallest memory footprint for bundling.
· 集成Lua只会增加极少的内存占用率。
· The Lau C API is very well documented and has good examples for integrating with C.
· Lua的C API有着完备着文档和很好的例子,可以容易地通过C集成在软件里。
The cons of Lua are as follows:
Lua的不足:
· The documentation has improved but is still a bit sketchy overall. Of the three languages, Lua it is probably the least documented (the API being the exception), with the least amount of code comments. This makes for the largest ramp-up time to learn, and there isn't much in the way of introductory Lua material.
· 尽管Lua的文档已经增进不少,但仍然有所不足。三种语言中,Lua可能是文档最少的(API方面是个例外),因为代码中极少注释,这也增加了学习的难度。另外,对Lua的本质也没有什么介绍。
· There isn't a lot of built-in functionality for Lua. There is little support if you need to create a large, complex application.
· Lua内建的功能很少,并没有对创建大型的复杂应用程序提供足够支持。
· Lua could use a better garbage collectorthe current development is moving towards that now. Right now, Lua GC uses a very simple and traditional simple mark and sweep.
· Lua应该使用更好的垃圾收集机制,Lua现在的GC仍然使用非常简单而且传统的“标记和清除”方式。
Pros and Cons of Ruby
Ruby的优点和不足
The pros of Ruby are as follows:
Ruby的优点:
· Ruby possesses fairly good advanced debuggers.
· Ruby有极好的高级调试器。
· Ruby is object oriented from the ground up, and programmers who are OOP enthusiasts or who are used to the OOP paradigm will find the language extremely comfortable.
· Ruby是最彻底的面向对象语言,对于OOP狂热者和惯于使用OOP范式的程序员,他们将会发现Ruby是最适合他们的语言。
· Ruby has arguably the simplest syntax, with no real rules exceptions. Especially true for OOP enthusiasts.
· Ruby的语法极为简单,没有让人出乎意料规则,特别适合OOP行家的习惯。
The cons of Ruby are as follows:
Ruby的不足:
· Lack of English documentation.
· 英文文档极度缺乏。
· Fewer existing works and samples for games than with the other languages.
· 与其它语言相比,在游戏方面所作的工作和实例都少得多。