《Kotlin核心编程》 ——1.2 Scala的百宝箱

举报
华章计算机 发表于 2020/02/21 19:53:58 2020/02/21
【摘要】 本节书摘来自华章计算机《Kotlin核心编程》 —— 书中第1章,第1.2.1节,作者是水滴技术团队 。

1.2 Scala的百宝箱

Scala是洛桑联邦理工大学的马丁(Martin Odersky)教授创造的一门语言。他也参与了Java语言的发展研究工作,在Java 5中引入的泛型就是他的杰作。事实上,在Java刚发布的时候,马丁教授就开始了Java的改良工作—他在JVM平台探索函数式编程,并发布了一个名为Pizza的语言,那时就支持了泛型、高阶函数和模式匹配。

然而,在随后的探索过程中,他渐渐发现Java是一门具有硬性约束的语言,在某些时候不能采用最优的方式来实施设计方案。因此,马丁教授和他的研究伙伴决定重新创造一门语言,既在学术上合理,同时也具备实用价值。这就是开发Scala的初衷。

1.2.1 学术和工业的平衡

Scala是一门非常强大的编程语言,正如它名字(Scalable,可拓展)本身一样,用Scala编程就像拥有了哆啦A梦的口袋,里面装满了各种编程语言特性,如面向对象、函数式、宏。

Scala不仅在面向对象方面进行了诸多的改良,而且彻底拥抱了函数式。因此Scala也吸引了函数式编程社区很多厉害的程序员,他们将函数式编程的思想注入Scala社区,如此将使用Scala进行函数式编程提高到了新的高度。

由于Scala设计者学院派的背景,以及Scala某些看似“不同寻常”的语法,使它在发展早期(甚至现在)经常被描述为“过于学院派”,以至于马丁教授在某次Scala大会的演讲时,自嘲“Scala真正的作用是将人引向了Haskell”。

然而,真实的Scala却是在不断地探索学术和实用价值两方面的平衡。不可否认的是:

Scala已经成为大数据领域的热门语言,明星项目Spark就是用Scala开发的,还有很多其他知名的项目,如Akka、Kafka等。

越来越多的商业公司,如Twitter、PayPal、Salesforce都在大量使用这门语言。

另外,Scala也确实是一门有着较陡的学习曲线的语言,因为它强大且灵活,正如马丁教授所言,Scala相信程序员的聪明才智,开发人员可以用它来灵活选择语言特性。但学术和工业的平衡始终是一个难题,与Java严格标准相比,Scala的多重选择也常常因复杂而被人吐槽。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。