Scala WartRemover 是否解决了 Yang Zhang 批评的问题?
Does the Scala WartRemover address the issues outlined Yang Zhang's critique?
Yang Zhang provides the following critique 的 Scala 语言声明如下:
- 对集合进行操作
- 特殊类型(参见 specialized types vs. subtyping),
- 路径依赖类型(蛋糕模式依赖注入见Bakery of Doom),
- Java wildcards-Scala existentials interop、
- extractor object and partial function asymptotic complexity,
- delimited continuations vs. type inference,
- traits vs. eager vals Shamanism,
Scala Wart Remover 解决了以下问题:
- 任意
- Any2StringAdd
- AsInstanceOf
- 默认参数
- EitherProjectionPartial
- IsInstanceOf
- 列表操作
- NoNeedForMonad
- 非单位陈述
- 无
- 空
- 部分选项
- 产品
- 返回
- 可序列化
- 不安全
- 变量
我的问题是:Scala WartRemover 是否解决了 Yang Zhang 批评的问题?
大部分不是。 Wartremover 解决了一些 "which of these lines doesn't compile" 琐事问题,方法是让任何遵循特定错误形式的代码成为错误。但那(IMO)从来都不是该批评的有趣部分。
隐式宏(在 2.11 中)和 Shapeless 2.0 解决了扩展集合的问题; Miles 的每类型 1 行样板解决方案现在是每类型 0 行样板解决方案(它是使用宏实现的,您可能会认为这是作弊,但您不必自己写宏,你可以在Shapeless中调用一个标准的)。和往常一样,我们应该强调,这里的抱怨是,用 Scala 很难做到用任何其他语言(除了 Idris 或其他语言)不可能做到的事情。
IMO,社区仍然不善于回应批评。也就是说,Scala 在解决实际业务问题方面似乎越来越成功;我感觉大多数方面的使用都在增长,这表明任何复杂性要么不是批评所声称的问题,要么至少可以解决。当然,在我现在的雇主那里,我们做的 Scala 比以往任何时候都多,并且生产出更好、更易于维护的程序,结果是付出的努力更少。
Yang Zhang provides the following critique 的 Scala 语言声明如下:
- 对集合进行操作
- 特殊类型(参见 specialized types vs. subtyping),
- 路径依赖类型(蛋糕模式依赖注入见Bakery of Doom),
- Java wildcards-Scala existentials interop、
- extractor object and partial function asymptotic complexity,
- delimited continuations vs. type inference,
- traits vs. eager vals Shamanism,
Scala Wart Remover 解决了以下问题:
- 任意
- Any2StringAdd
- AsInstanceOf
- 默认参数
- EitherProjectionPartial
- IsInstanceOf
- 列表操作
- NoNeedForMonad
- 非单位陈述
- 无
- 空
- 部分选项
- 产品
- 返回
- 可序列化
- 不安全
- 变量
我的问题是:Scala WartRemover 是否解决了 Yang Zhang 批评的问题?
大部分不是。 Wartremover 解决了一些 "which of these lines doesn't compile" 琐事问题,方法是让任何遵循特定错误形式的代码成为错误。但那(IMO)从来都不是该批评的有趣部分。
隐式宏(在 2.11 中)和 Shapeless 2.0 解决了扩展集合的问题; Miles 的每类型 1 行样板解决方案现在是每类型 0 行样板解决方案(它是使用宏实现的,您可能会认为这是作弊,但您不必自己写宏,你可以在Shapeless中调用一个标准的)。和往常一样,我们应该强调,这里的抱怨是,用 Scala 很难做到用任何其他语言(除了 Idris 或其他语言)不可能做到的事情。
IMO,社区仍然不善于回应批评。也就是说,Scala 在解决实际业务问题方面似乎越来越成功;我感觉大多数方面的使用都在增长,这表明任何复杂性要么不是批评所声称的问题,要么至少可以解决。当然,在我现在的雇主那里,我们做的 Scala 比以往任何时候都多,并且生产出更好、更易于维护的程序,结果是付出的努力更少。