`
yoshiyan
  • 浏览: 46416 次
社区版块
存档分类
最新评论

编程语言比较:AS vs C++ vs Java vs Python

阅读更多
文件/类
是否支持一个文件内定义多个类?(基于C++)
AS:    支持。但只允许有一个public类。此类需要包含在package的括号里,而其他类则不能在括号里。
C++:   支持,无限制。
Java:  支持,但只允许有一个public类。
Python:支持,无限制。


类名是否必须和文件名(不包含后缀)相同?(基于AS)
AS:   
C++:  
Java:  是(public 类需和文件名相同)
Python:


是否允许private或者protected构造函数?(基于C++)
AS:    否,构造函数只能是public的
C++:  
Java: 
Python:待完成


函数

函数格式(基于C++)
AS:      public function functionName(parameters...):returnType { functionBody }
C++:     public returnType functionName() { functionBody }
Java:    同C++
Python:  def functionName():
             tab缩进 functionBody

是否支持缺省参数(基于C++)
AS:    支持。
C++:   支持。
Java:  不支持。
Python:支持。

示例代码(C++):
int a(int b = 10)
{
   .... 
}


是否支持出参?(基于C++)
AS:支持。 通过pass by reference。前提是出参必须是Object对象。
C++:支持。通过指针和引用,对出参的数据类型没有要求,即使是基本数据类型也支持。

是否支持函数重载?(基于C++)
AS:    不支持。类里不允许出现同名函数,编译时报错。
C++:   支持。
Java:  支持。
Python:不支持。后边的同名函数会把前边的函数覆盖/替换掉。


是否支持返回多个结果?(基于Python) 
AS:    不支持。
C++:   不支持。
Java:  不支持。
Python:支持。


是否支持package level 函数?(基于AS) 
AS:    支持。
C++:   不支持。C++没有package的概念,只有类似的namespace的概念。
Java:  不支持。
Python:支持。


语法
switch、case是否支持对象类型(基于AS) 
AS:    支持
C++:   必须是整型常量
Java:  必须是整型常量
Python:没有"switch case"语句,只能使用"if ... elif ... elif"替代


是否支持__FILE__,__LINE__,__FUNCTION__(基于C++) 
AS:    不支持
C++:   支持
Java:  不支持
Python:待测试


是否支持Interface?(语法层面,基于Java)
AS:    支持,使用Interface关键字。
C++:   不支持
Java:  支持,使用Interface关键字。
Python:不支持


是否支持final class和final function?(基于Java)
AS:    支持,使用final关键字。
C++:   不支持,没有final关键字,待完成
Java:  支持,使用final关键字。
Python:不支持,待完成


是否支持在运行时判断对象是否是特定类的实例?(基于Java)
AS:    支持,使用is关键字。 obj is class
C++:   不支持
Java:  支持,使用instanceof关键字。obj instanceof class
Python:支持,使用内建函数isinstance。 isinstance(obj, class)


是否友元类或者友元函数?(基于C++)
AS:    不支持
C++:   支持
Java:  不支持
Python:不支持


是支持数据类型:double和float?(基于C++)
AS:    不支持,替代类型为:Number
C++:   支持
Java:  支持
Python:不需要声明


5 / 2 的结果(基于AS)
AS:    2.5
C++:   2
Java:  2
Python: 2


常用函数
求最小值
AS:    Math.min,支持两个以上参数
C++:   algorithm:min,仅支持两个参数
Java:  Math.min,仅支持两个参数
Python:min,支持两个以上参数
分享到:
评论
1 楼 leefangzhao 2012-06-21  
脚本能和静态语言去比吗?有点像拿塑料道具刀与钢刀相比啊.

相关推荐

Global site tag (gtag.js) - Google Analytics