编程语言特性梳理
一 语言组织
1. 标识符合关键字
2. 变量与常量
3. 运算符
4. 表达式
5. 简单语句
6. 控制结构
二 类型系统
1. 动静特性: 动态语言还是静态语言
2. 类型强弱:强类型还是弱类型
3. 基本数据类型: 类型及其支持的运算和操作的集合
4. 自定义数据类型: 类型及其支持的运算和操作的集合
三 抽象特性
1. 函数: 是否支持函数,匿名函数 ,高阶函数,闭包
2.面向对象: 是否支持面向对象
3. 多态:如何支持多态
4. 接口:是否支持接口,以及接口实现模式
四 元编程特性
1. 泛型 :是否支持泛型
2.反射:是否支持反射,反射的能力
五 运行和跨平台语言特性
1. 编译模式:是编译成可执行程序,还是编译成中间代码,还是解释器执行
2.运行模式:直接由OS加载运行,还是由虚拟机加载运行
3.内存管理:是否支持垃圾回收
4.并发支持:是否原生支持并发,还是库支持
5.交叉编译:是否支持交叉编译
6.跨平台支持:是否支持多个平台
六 语言软实力特性
1.库:标准库和第三方库是否丰富,好用,高效
2.框架:是否有非常出众的框架
3.兼容性:语言规范是否经常更新
4.影响力:是否有商业公司支持,社区是否活跃