Python、Lua和Ruby——脚本大PK
2011-09-23 17:59
399 查看
译者按:Python、lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生。在TomGutschmidt的著作《Game
Programmng with Python, Lua andRuby》一书中,介绍了三种语言在游戏中的应用,其中尤为了不起的是在书中最后一章中比较了三种脚本,作者没有说孰优孰劣,但是读者你认为呢?欢迎留言讨论。
本文最初发表于恋花蝶的博客http://blog.csdn.net/lanphaday,欢迎转载,但敬请保持全文完整。
Python
versus Lua Versus Ruby
Python、Lua和Ruby——脚本大P.K.
Tom Gutschmidt 著
赖勇浩(http://blog.csdn.net/lanphaday) 译
Sowhich of the three languages is the best to use on your project?
Thatdepends a great deal on what you want to accomplish. To wrap up thebook, I've outlined some of the pros and cons of each language in thissection.
这三种语言中的哪一种更合适你的项目?很大程度取决于你想达到什么样的目标。作为一书的结尾,在这一节里,我会描述一下它们各自的优点和不足。
Python
Pros and Cons
Python的优点和不足
The pros of Python are as follows:
Python的优点如下:
· Python
has more extension modules than the other languages.
· Python比其它语言有更多扩展模块。
· Manyonline
Python tutorials exist. There are also plenty of English booksand reference materials, many sample scripts exist online, and there isa wealth of introductory material. The Python.org Website is a goodplace 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(苹果计算机)和控制台下进行调试是一个梦魇。
· Itcan
be difficult to bundle Python with other languages. There are lotsof binary DLLs, and Python has (compared to the other languages) alarge 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的不足:
· Thedocumentation
has improved but is still a bit sketchy overall. Of thethree languages, Lua it is probably the least documented (the API beingthe exception), with the least amount of code comments. This makes forthe largest ramp-up time to learn, and there isn't much in the
way ofintroductory 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内建的功能很少,并没有对创建大型的复杂应用程序提供足够支持。
· Luacould
use a better garbage collectorthe current development is movingtowards that now. Right now, Lua GC uses a very simple and traditionalsimple 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有极好的高级调试器。
· Rubyis
object oriented from the ground up, and programmers who are OOPenthusiasts or who are used to the OOP paradigm will find the languageextremely 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.
· 与其它语言相比,在游戏方面所作的工作和实例都少得多。
Programmng with Python, Lua andRuby》一书中,介绍了三种语言在游戏中的应用,其中尤为了不起的是在书中最后一章中比较了三种脚本,作者没有说孰优孰劣,但是读者你认为呢?欢迎留言讨论。
本文最初发表于恋花蝶的博客http://blog.csdn.net/lanphaday,欢迎转载,但敬请保持全文完整。
Python
versus Lua Versus Ruby
Python、Lua和Ruby——脚本大P.K.
Tom Gutschmidt 著
赖勇浩(http://blog.csdn.net/lanphaday) 译
Sowhich of the three languages is the best to use on your project?
Thatdepends a great deal on what you want to accomplish. To wrap up thebook, I've outlined some of the pros and cons of each language in thissection.
这三种语言中的哪一种更合适你的项目?很大程度取决于你想达到什么样的目标。作为一书的结尾,在这一节里,我会描述一下它们各自的优点和不足。
Python
Pros and Cons
Python的优点和不足
The pros of Python are as follows:
Python的优点如下:
· Python
has more extension modules than the other languages.
· Python比其它语言有更多扩展模块。
· Manyonline
Python tutorials exist. There are also plenty of English booksand reference materials, many sample scripts exist online, and there isa wealth of introductory material. The Python.org Website is a goodplace 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(苹果计算机)和控制台下进行调试是一个梦魇。
· Itcan
be difficult to bundle Python with other languages. There are lotsof binary DLLs, and Python has (compared to the other languages) alarge 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的不足:
· Thedocumentation
has improved but is still a bit sketchy overall. Of thethree languages, Lua it is probably the least documented (the API beingthe exception), with the least amount of code comments. This makes forthe largest ramp-up time to learn, and there isn't much in the
way ofintroductory 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内建的功能很少,并没有对创建大型的复杂应用程序提供足够支持。
· Luacould
use a better garbage collectorthe current development is movingtowards that now. Right now, Lua GC uses a very simple and traditionalsimple 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有极好的高级调试器。
· Rubyis
object oriented from the ground up, and programmers who are OOPenthusiasts or who are used to the OOP paradigm will find the languageextremely 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.
· 与其它语言相比,在游戏方面所作的工作和实例都少得多。
相关文章推荐
- Python、Lua和Ruby——脚本大PK
- Python、Lua和Ruby比较——脚本语言大P.K.
- Python、Lua和Ruby——脚本大P.K.
- Python、Lua和Ruby——脚本大P.K.
- Python、Lua和Ruby——脚本大P.K.
- Python、Lua和Ruby——脚本大P.K.
- 脚本语言语言脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua
- Python、Lua和Ruby比较——脚本语言大P.K.
- Python、Lua和Ruby——脚本大P.K.
- Python、Lua和Ruby——脚本大P.K.
- 脚本语言性能比较:Ruby,Io,PHP,Python,Lua,Java,Perl...
- Python、Lua和Ruby——脚本大P.K.
- 脚本语言性能比较:Ruby,Io,PHP,Python,Lua,Java,Perl...
- Python、Lua和Ruby——脚本大P.K.
- Python/Lua/Ruby 大PK
- 纯YY一下,在The Python Tutorial中,从Guido van Rossum的例子中可以看出他对现在流行的脚本语言perl,tcl,ruby,lua,python的评分
- 脚本语言性能比较:Ruby,Io,PHP,Python,Lua,Java,Perl...
- Python、Lua和Ruby——脚本大P.K.
- Python、Lua和Ruby——脚本大P.K.
- 顶级脚本语言:PHP、Ruby、Python