编程语言的特性

语言组织:(程序的语法格式千差万别,但表达这些语法的基本概念大同小异)

  • 标识符和关键字
  • 变量和常量
  • 运算符
  • 表达式
  • 简单语句
  • 控制结构

类型系统:

  • 动静特性:动态语言还是静态语言
  • 类型强弱:强类型还是弱类型
  • 基本数据类型:包括类型及其支持的运算和操作集合
  • 自定义数据类型:包括类型及其支持的运算和操作集合

抽象特性:

  • 函数:是否支持函数、匿名函数、高阶函数、闭包等
  • 面向对象:是否支持面向对象
  • 多态:如何支持多态
  • 接口:是否支持接口,以及接口实现模式

元编程特性:

  • 泛型:是否支持泛型
  • 反射:是否支持反射,反射的能力

运行和跨平台语言特性:

  • 编译模式:是编译成可执行程序,还是编译成中间代码,还是解释器解释执行
  • 运行模式:直接由OS加载执行,还是由虚拟机加载执行
  • 内存管理:是否支持垃圾回收
  • 并发支持:是否原生支持并发,还是库支持
  • 交叉编译:是否支持交叉编译
  • 跨平台支持:是否支持多个平台

语言软实力特性:

  • 库:标准库和第三方库是否丰富、好用、高效
  • 框架:是否有非常出众的框架
  • 语言自身兼容性:语言规范是否经常变换,语言新版本向前兼容性
  • 语言影响力:是否有商业公司支持,社区的活跃性,是否是著名项目

 

------摘自李文塔《Go语言核心编程》

posted @ 2020-04-03 12:58  Mizuki_qin  阅读(288)  评论(0)    收藏  举报