在业界拥有众多高级编程语言的今天,如何系统化构建自己的编程语言知识库,这是本文的核心。

@

目录

  • 应用领域
  • 开发效率
  • 生态环境
  • 工程管理
  • 性能
  • 安全性
  • 跨平台能力
  • 执行模式
  • 命令行
  • 编程范式
  • 面向对象
  • 并发编程
  • 网络编程
  • 泛型编程
  • 元编程
  • 类型系统
  • 时间处理
  • 字符串处理
  • 错误处理
  • 内存管理
  • 系统调用
  • 其他

应用领域

这门语言的应用领域主要在哪里?常用于业务开发还是系统开发?
如C/C++/Rust主要用于系统编程,Java/Go主要用于业务开发,Python/Shell主要用于脚本开发,Python也用于机器学习。

开发效率

这门语言的语法是否友好,,标准库是否健壮,支持的数据结构如何?

生态环境

这门语言工具链是否齐全,生态是否强大?编译工具/测试工具?

工程管理

这门语言的工程管理能力如何?

性能

这门语言的抽象程度如何?是否接近机器?

安全性

在缓冲区溢出、数组越界、指针非法访问、未定义行为等领域,这门语言是否做了处理?处理效果如何?

跨平台能力

这门需要能否“一次编译,到处运行”?是否强依赖于体系结构?

执行模式

这门语言的翻译方式是编译 or 解释 or 混合?

命令行

这门语言是否支持界面交互?(一般解释性语言有)

编程范式

这门语言支持哪些编程范式?面向过程/面向对象/函数式/泛型?

面向对象

这门语言如何实现封装、继承和多态的?

并发编程

这门语言有哪些关于并发的语言级机制?有哪些原生支持的并发组件?是否支持异步编程?

网络编程

这门语言的网络编程接口设计的如何?网络编程的一些生态工具是否具备?

泛型编程

这门语言是否支持泛型?

元编程

这门语言是否支持宏、模板、反射、自省…?

类型系统

这门语言是静态类型还是动态类型?是强类型还是弱类型?类型是否丰富?有类型推断机制吗?如何做安全的类型转换?

时间处理

这门语言是否支持高精度的时间类型?

字符串处理

这门语言的字符串类型设计是否优雅?使用简单?

错误处理

这门语言错误处理主要是依靠返回值机制还是异常机制?

内存管理

这门语言的内存管理是手动管理还是自动回收(GC)?
这门语言的内存模型如何?

系统调用

这门语言如何做系统调用?比如文件操作?

其他

这门语言在随机数、散列、压缩编码方面的生态如何?


关于编程语言,如果有更多需要关注的地方会随时更新。