关于编程语言的思考

这页记录语言选型和学习路线的长期判断,适合作为 01-通用编程语言 的个人观点入口。

语言选择的思考

选择编程语言不只是技术偏好,更关乎生态、团队协作和长期维护成本。几个观察:

  • 没有万能语言:每种语言都有其设计取舍。系统级用 C/C++/Rust,快速开发用 Python,Web 后端用 Go/Java/C#,前端绑定 JavaScript/TypeScript。选语言本质上是在选生态和约束。
  • 语言趋势在变化:现如今跨平台的高性能 CLI 工具基本都是用 RustGo 做的,这两种语言的影响力在持续增长。
  • 多语言能力是加分项:掌握不同范式的语言(命令式、函数式、并发模型各异的)能拓宽解决问题的思路。

Rust 与 Go 的优势

这两种语言应该是将来系统工具和基础设施领域的趋势,其共同优势有:

  • 性能接近 C/C++
  • 优秀的并发模型(Go 的 goroutine、Rust 的 async/await + 所有权系统)
  • 内存安全(Rust 通过所有权系统在编译期保证,Go 通过 GC)
  • 跨平台做得很好,可以轻松为各平台生成可执行二进制文件(因为一开始就是为跨平台设计的)(如 asdf 0.16 前的版本都是基于 bash 编写,之后是基于 go,以便做到跨平台)
  • 开发速度与简洁性
    • 都有自己的一套包管理(Go modules、Cargo)
    • 工具链自带格式化、lint、测试

语言学习计划

学会容易,还要找机会使用练手,实践才会出真知!

  • 学习 Rust ➕ 2025-07-07