- 论坛徽章:
- 0
|
perl or python?
谢谢大家,决定用perl了
不过也贴一篇关于python的文章,供大家参考
-----------------------------------------------------------------------
python也使用的是虚拟机技术,它采用虚拟机技术还在Java之前。
支持oop,也可以使用内置的对象实现象Java一样的简单编程。
与Java比:
python比Java还要慢。
开发效率更高,比Java快3-5倍。原因:使用了built-in high-level data types 和 d
ynamic typing。比如说多态的list和Dictionary.
具有丰富的内建语法支持但不擅长于处理底层的操作,甚至是数学运算。所以它作为一
种"glue" language更好一些。
和Java结合会更好,模块用Java实现,而用python把这些模块组合成应用程序。
也可以使用python来建立模块原型。Jpython讲python code生成Java bytecode.
与C++比较:
所有对Java的比较都适用于C++,开发速度大约提升到5-10倍。python擅长将多个C++书
写的模块结合起来。
Python shines as a glue language, used to combine components written in C++.
与perl比:
都是有悠久历史的Unix Script语言,现在都支持多平台。
但是设计理念不一样:
Perl强调对通用的基于应用的任务的支持(common application-oriented tasks),比
如说内建的正则表达式,文件搜索和报表产生。
python强调对通用编程方法学的支持,比如说数据结构设计和oop.
As a consequence, Python comes close to Perl but rarely beats it in its orig
inal application domain; however Python has an applicability well beyond Per
l's niche.
与tcl相比:
Tcl和python都可以作为应用程序的扩展语言,也可以作为应用程序的编程语言。
TCL在处理数据结构上比较差,传统上Tcl将所有的数据都存成了strings.
Tcl缺乏书写大型程序所必需的modual namespace概念。
一般而言,Tcl通过书写C模块来扩展。其中Tk是个很好的工具,python也对此支持。
Tcl 8.0提供了bytecode compiler来加快速度,并支持了少量几种数据类型。还不是很
好用。
与SmallTalk(oop的始祖)比较
python和smalltalk最大的区别是python使用的是更主流的语法。
和Smalltalk一样,python使用动态类型和动态绑定(dynamic typing and binding),
并且所有的东西都是对象。
不同的是,python区别内建对象和用户自定义对象,当前还不允许继承内建对象。
Smalltalk的数据类型集合标准库更精简,但python提供了更多的对Internet和WWW功能
的支持。
python在开发环境和代码发布环境上采用了不同的哲学。SmallTalk采用的是完整的Sys
tem Image方案(即包含环境和用户程序),python将标准模块和用户模块存在不同的文
件中。这样一个重要的结果是可以有多种方式为python程序添加GUI界面。
作为python开发的程序的范例,还有一个是Blender:三维造型软件,现在比较流行。 |
|