以下给出 C、C++、Java、JavaScript、PHP、Python 这些常见编程语言的异同
- 语言特点
- 脚本语言(scripting language):JavaScript、Python、PHP
- 程序执行
- 编译型(compiled):C、C++、Java
- 解释型(interpreted):JavaScript、Python、PHP
- 编程范式
- 面向过程(Procedure Oriented):C
- 面向对象(Object Oriented):C++、Java、JavaScript(不是严格意义上的)
- 面向过程与面向对象兼具(多范式):PHP、Python
- 变量类型
- 强类型(strong type):C、C++、Java、Python
- 弱类型(weak type):JavaScript(介于强弱之间)、PHP
- 静态类型(static type):C、C++、Java
- 动态类型(dynamic type):JavaScript、PHP、Python
- 参数传递
- 有默认参数:C++(11以后)、JavaScript、PHP(5以后)、Python
- 有关键字参数(指定参数):JavaScript(ES6以后)、PHP(8以后)、Python(3以后)
- 有变长参数(扩展参数):C、C++、Java、JavaScript、PHP、Python
- 有值传递(pass by value):C、C++、Java、JavaScript
- 有引用传递(pass by object reference):C++、PHP
- 有赋值传递(pass by assignment):Python
- 函数
- 支持函数重载:C++、Java
- 支持匿名函数:C++(11以后)、Java(8以后)、JavaScript、PHP、Python
- 支持显示声明函数返回类型:C(从C99标准开始)、C++、Java、Python(3以后)
- 不支持显示声明函数返回类型:JavaScript、PHP、Python(2)
- 语法
- 句尾一定要分号:C、C++、Java、PHP(仅单条语句可不用)
- 要求严格缩进:Python