首页  

scala那些事     所属分类 scala 浏览量 186
Scala 之父 Martin Odersky  瑞士洛桑联邦理工大学教授
编译器及编程的狂热爱好者,他希望发明一种语言,能够使编程变得更加高效简洁
2001 年开始设计 Scala 语言
当他接触到 Java 语言后,对 Java 语言产生了极大的兴趣,所以他决定将函数式编程融入到 Java 中
由此发明了两种语言(Pizza & Scala) Pizza 和 Scala 极大地推动了 Java 语言的发展

jdk5 泛型,for 循环增强,自动类型转换等,都是从 Pizza 引入的新特性
jdk8 类型推断,Lambda 表达式就是从 Scala 引入的特性
jdk5 和 jdk8 的编译器就是他编写的

Martin Odersky 给出两个编写Scala代码的原则
尽量用能力弱的功能
给中间步骤命名

Databricks Scala 编程风格指南
https://github.com/databricks/scala-style-guide/blob/master/README-ZH.md
Databricks为了性能考虑,更倾向于采用命令式方式去使用Scala,例如,规范建议使用while循环,而非for循环或者其他函数转换(map foreach)

Spark 许多源代码并没有遵循Scala推崇的最佳实践 ,Odersky对此的解释 
Spark的API设计是和Scala 集合类设计是一致的函数式风格,里面具体的实现为了追求性能用了命令式,Scala集合里面的实现函数为了性能也用了很多var


Scala过度的灵活性,往往会诱惑他人掉进复杂性的深渊而不能自拔。
它犹如具有「魔戒」的力量,虽然强大,但也很致命。
Complexity is like a bug light for smart people. We can't resist it, even though we know it's bad for us. 
应该理智地抵制复杂性的诱惑,才能真正地发挥Scala的威力。
使用Scala不是为了炫技,而应该尽最大的可能让设计保持简单。
Martin Ordersky也在2016年元旦之初发文,号召社区有志之士在未来的时间里尽最大可能地降低Scala的复杂度

Scala之父Martin Odersky 曾表示会在2016简化Scala语言,降低初学者门槛


scala 就是一个 java语法糖外挂 ,仅此而已

有个问题一直困扰着 Scala 社区,为什么一些 Java 开发者将 Scala 捧到天上,
认为它是来自上帝之吻的完美语言,而另外一些 Java 开发者却对它望而却步,认为它过于复杂难以理解


scala 类比吸星大法,吸收了java生态的功力,能融汇贯通还好,否则反噬,江湖上能驾驭 吸星大法 的能有几人 ?

上一篇     下一篇
Scala 抽象类(abstract) 和 特质(trait) 异同

typesafe config 读取配置

对象存储简介

saas财务指标 ARR 与 MRR

shapeless scalaz cats zio

akka actor ask 模式 实例