编程语言的特性
语言组织:(程序的语法格式千差万别,但表达这些语法的基本概念大同小异)
- 标识符和关键字
- 变量和常量
- 运算符
- 表达式
- 简单语句
- 控制结构
类型系统:
- 动静特性:动态语言还是静态语言
- 类型强弱:强类型还是弱类型
- 基本数据类型:包括类型及其支持的运算和操作集合
- 自定义数据类型:包括类型及其支持的运算和操作集合
抽象特性:
- 函数:是否支持函数、匿名函数、高阶函数、闭包等
- 面向对象:是否支持面向对象
- 多态:如何支持多态
- 接口:是否支持接口,以及接口实现模式
元编程特性:
- 泛型:是否支持泛型
- 反射:是否支持反射,反射的能力
运行和跨平台语言特性:
- 编译模式:是编译成可执行程序,还是编译成中间代码,还是解释器解释执行
- 运行模式:直接由OS加载执行,还是由虚拟机加载执行
- 内存管理:是否支持垃圾回收
- 并发支持:是否原生支持并发,还是库支持
- 交叉编译:是否支持交叉编译
- 跨平台支持:是否支持多个平台
语言软实力特性:
- 库:标准库和第三方库是否丰富、好用、高效
- 框架:是否有非常出众的框架
- 语言自身兼容性:语言规范是否经常变换,语言新版本向前兼容性
- 语言影响力:是否有商业公司支持,社区的活跃性,是否是著名项目
------摘自李文塔《Go语言核心编程》

浙公网安备 33010602011771号