在IDE(Idea)中第一次使用Scala时,我注意到自动完成速度明显较慢,然后编写java时.虽然有些放缓可能本身归功于当时的斯卡拉工具生态系统的相对不成熟,我怀疑某些这种放缓可能是分析代码的算法的复杂性,需要类型推断的固有属性.
Java的:
MyType type; type.doSomething() //Class of type already known
Run Code Online (Sandbox Code Playgroud)
斯卡拉:
val type = new MyType; type.doSomething() //Class of type must be inferred or cached
Run Code Online (Sandbox Code Playgroud)
虽然具有类型推断的语言更简洁(因此更易于阅读),但这是以牺牲较慢的工具为代价的吗?有固有的权衡吗?