[转] Python、Lua和Ruby优缺点

http://blog.chedushi.com/archives/1197

PS: Lua和C的关系有点类似VIM的脚本语句和VIM的关系

Python

Python的优点:

1、Python比其它语言有更多扩展模块。

2、在网上可以找到很多Python教程。不仅如此,还有大量的英文书籍和资料。Python.org有很多为初学者准备的依主题组织的资料、教程和编程指南,此外还有很多链接和参考。

3、很多人都喜欢Python语言的语法,因为它清晰易读。

4、Python在支持库上大占优势,因为它有很多库,而且大部分都有完善的文档支持。

5、很多工具可以用于Python,但难以找到适用于Lua和Ruby的。

Python的不足:

1、现有的Python调试器诡异而且效率低下。在Macintosh(苹果计算机)和控制台下进行调试是一个梦魇。

2、Python难以与其它语言集成,它有太多的二进制DLL,而且Python带了巨大的标准发布包。

3、同样的,也有很多人不喜欢Python对空白符敏感的语法。

4、因为栈上的任何东西都是对象,所以Python有时候会慢得难以忍受。

Lua(Luain)

Lua的优点:

1、Lua在这三种语言中是运行时速度最快而且占内在最少的

2、集成Lua只会增加极少的内存占用率。

3、Lua的C API有着完备着文档和很好的例子,可以容易地通过C集成在软件里。

Lua的不足:

1、尽管Lua的文档已经增进不少,但仍然有所不足。三种语言中,Lua可能是文档最少的(API方面是个例外),因为代码中极少注释,这也增加了学习的难度。另外,对Lua的本质也没有什么介绍。

2、 Lua内建的功能很少,并没有对创建大型的复杂应用程序提供足够支持。

3、 Lua应该使用更好的垃圾收集机制,Lua现在的GC仍然使用非常简单而且传统的“标记和清除”方式。

Rudy

Ruby的优点:

1、Ruby有极好的高级调试器。

2、Ruby是最彻底的面向对象语言,对于OOP狂热者和惯于使用OOP范式的程序员,他们将会发现Ruby是最适合他们的语言。

3、 Ruby的语法极为简单,没有让人出乎意料规则,特别适合OOP行家的习惯。

Ruby的不足:

1、英文文档极度缺乏。

2、与其它语言相比,在游戏方面所作的工作和实例都少得多。