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

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

应用领域

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

开发效率

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

生态环境

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

工程管理

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

性能

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

安全性

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

跨平台能力

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

执行模式

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

命令行

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

编程范式

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

面向对象

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

并发编程

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

网络编程

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

泛型编程

这门语言是否支持泛型?

元编程

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

类型系统

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

时间处理

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

字符串处理

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

错误处理

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

内存管理

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

系统调用

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

其他

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


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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DataPlayerK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值