我希望去的语言是 – journal.stuffwithstuff.com

主要观点:作者虽喜欢 Go 语言的一些特性,但仍觉得它有诸多不足,希望对其进行改进,提出了包括语法、类型系统、初始化、错误处理、泛型等方面的改进建议。
关键信息

  • 语法方面:希望引入命名/关键字参数、块参数、运算符重载等,使语言更表达力和可读性更强。
  • 类型系统方面:添加元组和联合类型,元组能使多返回值更自然,联合类型可用于错误处理等场景。
  • 初始化方面:引入构造函数,确保变量有初始化机会,消除nil,提高代码安全性。
  • 错误处理方面:偏爱异常处理,认为其能自动栈展开、避免僵尸变量、保证类型安全。
  • 泛型方面:指出 Go 缺少泛型是一大缺失,建议借鉴 C++模板等实现。
  • 未来-proofing 方面:批判 Go 在一些方面未做好未来-proofing,建议允许用户重载语法以减少样板代码。
    重要细节
  • substring(from: start, to: end)为例说明命名参数的作用及语法糖的效果。
  • ReadFile(filename) do(file) { … }解释块参数的用法及优势。
  • 通过func ParseInt(text string) int | *Error { … }展示联合类型在 Go 中的应用。
  • Point(2, 3)等说明构造函数的创建方式及作用。
  • 对比 Go 与其他语言在错误处理、未来-proofing 等方面的差异及优缺点。
阅读 10
0 条评论