笑看天下无敌手 发表于 2022-10-26 21:38:54

构建自己的语言工具包——关于编程语言,我们需要关注什么?

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

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

应用领域

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

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

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

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

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

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

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

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

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

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

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

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

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

这门语言是否支持泛型?
元编程

这门语言是否支持宏、模板、反射、自省...?
类型系统

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

这门语言是否支持高精度的时间类型?
字符串处理

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

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

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

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

这门语言在随机数、散列、压缩编码方面的生态如何?
关于编程语言,如果有更多需要关注的地方会随时更新。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 构建自己的语言工具包——关于编程语言,我们需要关注什么?