语言对比
性能、并发、招聘、库生态。
30 分钟
语言对比
选后端语言不是 benchmark 排行榜,而是 性能、并发、招聘、库生态、运维 五维 trade-off。你已速览 Go/Rust/C#/Ruby,本节把它们与 Java、Node、Python、PHP 放在同一张表里——数据随年份波动,思路比具体排名重要。
学习目标
- 用统一维度比较八种常见后端语言
- 识别「性能神话」与真实瓶颈(I/O、DB、网络)
- 为 pl-pick 的 ADR 打基础
横向对照表
| 语言 | 运行时 | 并发模型 | 包管理 | 典型 Web 栈 | 招聘/生态(粗感) |
|---|---|---|---|---|---|
| Java | JVM | 线程、Virtual Thread | Maven/Gradle | Spring Boot | 企业岗多,见 java-fundamentals |
| Go | 原生二进制 | goroutine | go mod | Gin, std net/http | 云原生、基础设施 |
| Rust | 原生 | async + 线程 | cargo | axum, actix | 系统、安全 niche 增长 |
| C# | .NET | async/await, Task | NuGet | ASP.NET Core | 微软系、游戏 |
| Ruby | MRI 等 | 线程 + GIL 直觉 | Bundler/gem | Rails | 存量 Rails,新创少 |
| Node.js | V8 | 事件循环 | npm | Express, Nest | 全栈、BFF,见 nodejs-essentials |
| Python | CPython 等 | asyncio、多进程 | pip/poetry | FastAPI, Django | AI/数据强,见 python-fundamentals |
| PHP | Zend | 请求 per process | Composer | Laravel | CMS、传统 Web,见 php-essentials |
性能:何时真的差一个数量级
- CPU 密集:Rust/C++/Go 常领先;Java JIT 热身后可追平许多场景
- I/O 密集:语言差异常 小于 DB 慢查询、缺索引、串行 RPC
- 启动与内存:Go/Rust 单二进制 vs JVM/Spring 冷启动——Serverless 场景见 scaling/serverless 相关课
结论:先 profile,再换语言;多数业务瓶颈不在 for 循环。