没有系统学习过计算机科学,不过基于零零碎碎的接触对看待一种编程语言渐渐地有了些不系统的想法,记录下来。
主要从技术层面的考量:
- 运算效率
- 内存使用效率(复用、结构)
- 内存操作的复杂度、灵活性、出错几率(分配、GC、溢出)
- 数据类型、内置数据结构的效率(查找、排序、增删改查)、表达能力
- 文件IO、数据库支持等持久化层面的支持能力、效率
- 对网络编程、并发编程的支持完备度、易用度
- 对GUI编程、WEB编程等的库支持
- 生态完备性(与前面有重合,大致是更广泛意义上的,标准库、第三方库之类)
- 语法层面的易读性、表现力、与自然思维的契合度,所谓优雅、粗糙等
非技术层面的考量:
- 背景
- 商业应用的规模、前景
- 跨平台能力
- 文档完备程度
- 场景适用、领域内应用
- 促进相关学习的价值