单得处理能使用各种得C和C++库,也可以被C和C++调用。Python可以直接使用Java得类,也可以直接被Java调用。这样,对Python、Java、C得学习和使用经验都不会被浪费,还能相互补充。Python可以提高Java和C得编程效率,Java和C可以补充Python功能上得不足。Python还可以和Tcl直接交互,这种功能是内置得。期待Python能简单的调用Perl和PHP得功能。能使用Lisp和prolog更好。
[编辑] Ruby和Python的比较
[编辑] Python和Ruby的相同点
都强调语法简单,都具有更一般的表达方式。Python是缩进,Ruby是类Basic的表达。都大量减少了符号。
都是动态数据类型。都是有丰富的数据结构。
都具有C语言扩展能力,都具有可移植性,比Perl的可移植性更好。也都可以作为嵌入语言。
都是面向对象的语言,都可以作为大项目的开发工具。
都有丰富的库支持。
也有最宽松的
版权许可,除了一些工具属于GNU世界。
都有Lisp特色的eval函数,也都能把函数作为参数。
也有图形界面的Ruby的专门编辑器。
都获得了广泛的C库的支持。如qt、gtk、tk、SDL、FOX等,Ruby计划实现SWIG接口。
都有完善的
文档。
[编辑] 和Python相比Ruby的优点
具有正则表达式和嵌入HTML的功能。Python也有正则表达式,但没有Ruby的应用方便和广泛。Python的嵌入
HTML项目才刚起步。Ruby还有apaChe的mod模块。Ruby本身也实现和很多Unix工具,如raCC,doCtools。比Python更亲近Linux。
比Python功能更完整的面向对象的语法。
Ruby的整个库都是具有类继承的结构。
他的基本的数据类型和运算符都是可以重载的。
Ruby主要的功能都是通过对象的方法调用来实现的,而不是函数。Python也在向这方面发展,但没有Ruby做的彻底。
Ruby的类是更规范的单继承,还有接口等概念的实现。
Python可以实现在
列表内的条件语句、循环语句,而Ruby用“块”的方式来实现这个功能,比Python的更灵活,更具有通用性。
Ruby具有类似Lisp的彻底的函数方式的条件语句、循环语句等。语句的表达能力更强。
附带一些Unix工具,如raCC等。
[编辑] 和Python相比Ruby的不足
最大的不足正是因为Ruby的强大所引起的。它没有Python的简单性好。比较复杂的面向对象语法、“块”语法的引入、正则表达式的引入、一些简写标记都增加了语言的复杂性。
Python的缩进表达方式比Ruby的Basic的表达方式更让人悦目,Ruby程序的满眼的end让人不舒服。当然,Ruby认为end的方式比Python更先进。
Ruby还没有Python的“自省
”的能力,没有从程序文件中生成
文档的能力。
Ruby支持不及Python广。国际化支持在Ruby的计划中。这是因为Ruby的历史比Python要短造成的。
[编辑] Python和Ruby的语言的选择
从简单的就是好的来说,选Python是没错的。Python适合寻找简单语言的人,这很可能造成Python更流行,因此也有更多的支持。但如果要追求更强大的语法功能,对编程语言感兴趣,想了解各种编程概念的人,则Ruby是好的选择。Ruby和Python都想取代Perl,解决Perl的缺点——面向对象不足,但Python用是方法是混合面向对象和程序式的程式语言,Ruby是允许自己这个面向对象语言扮成程序式的程式语言,
[编辑] 多脚本语言的大统一及疑问
现在各种脚本语言太多了,有必要进行整合,parrot是一个好的想法。.NET也是好的想法。它为各种脚本提供了一个统一的虚机,为各种脚本语言提供了基于“类”的相互调用,为各种脚本提供了统一的类库。
现在各种脚本语言只是提供了对C语言的交互性,这种交互也是费劲的和效果不好的。比如Python、Perl、Ruby等都提供了对C的交互功能。脚本语言之间的交流障碍重重。而类似.NET的东西,提供了非常容易的各种脚本的相互利用的途径,避免