1.静态语言和非静态语言
wabicai
# 1.静态语言和非静态语言
# 概念
- 静态语言:变量类型通常在编译期确定,类型错误可以尽早暴露。
- 非静态语言:变量类型通常在运行期决定,灵活性更强,但错误暴露更晚。
# 常见代表
- 静态语言:Java、Go、Rust、TypeScript。
- 动态语言:JavaScript、Python、Ruby。
# 对比
- 静态语言优点:类型约束更强,可维护性和大型协作体验更好。
- 静态语言缺点:表达更啰嗦,改动成本有时更高。
- 动态语言优点:开发灵活、迭代快、表达能力强。
- 动态语言缺点:运行期错误更多,重构安全感较弱。
# 为什么前端常提 TypeScript
前端历史上主要依赖 JavaScript,但项目规模变大后,单靠运行时发现问题成本太高,所以 TypeScript 通过静态类型补足了这块短板。
# 结论
两类语言没有绝对优劣,核心看场景。复杂业务系统更需要静态约束,探索性开发则更看重动态语言的灵活性。