我不再喜欢 Ruby 了吗?

主要观点:

  • 作者起初不喜欢 Python,认为它不如 Ruby 及 Scheme,如 Python 的if是语句而非表达式等设计让其不满。
  • 后来作者写 TypeScript 时意识到坏的语言特性可通过静态分析被原谅,且开始写 Rust 让其明白可变性并非不可接受。
  • Python 已改变,支持类型提示、match语句等,类型提示是将类型集成到现有生态系统的好案例,作者喜欢 Python 中与类型无关的一些特性如关键字参数等。
  • Ruby 在过去 10 年变化不大,作者虽仍用 Ruby 写脚本但已感觉不同,怀念其他语言的特性,或许自己已变不再适合 Ruby。

关键信息:

  • Ruby 是作者编程初恋,语言设计受 Smalltalk 和 Lisp 启发,如对象和原始类型无区别等。
  • Python 曾被作者嫌弃,如if等设计与 Ruby 不同。
  • TypeScript 是动态语言上类型系统的金标准,能进行多种类型操作。
  • Python 支持类型提示等改变后,作者对其态度转变。

重要细节:

  • Ruby 中可通过块和NilClassFalseClass上的方法重实现if
  • Python 中条件赋值需先声明再在if语句内修改。
  • TypeScript 能基于函数返回类型窄化变量类型等。
  • Python 的类型提示可用于验证模式和简化定义 Web API 等。
  • Ruby 过去 10 年变化不大,作者虽仍用但感觉不同。
阅读 21
0 条评论