探索 Scala 编程语言:特性、学习与应用
1. Scala 语言的起源与特性
Martin Odersky 设计的 Pizza 语言对 Java 世界产生了巨大影响。尽管 Pizza 本身并未流行起来,但它展示了将面向对象和函数式语言特性巧妙结合,能形成自然而强大的组合。Pizza 的设计成为 Java 泛型的基础,Martin 的 GJ(Generic Java)编译器从 1.3 版本开始成为 Sun Microsystem 的标准编译器(不过当时泛型功能被禁用)。这表明 Martin 在语言设计和实现方面都具备卓越的技能。
此后,Sun 试图通过为特定问题提供零碎的解决方案来简化程序开发,例如引入 for - each 循环、枚举和自动装箱等。而 Martin 则继续致力于开发更强大的正交语言原语,使程序员能够在库中提供解决方案。
近年来,静态类型语言受到了一些抵制。使用 Java 的经验表明,使用静态语言编程会产生大量的样板代码。普遍的观点认为,要消除样板代码就必须放弃静态类型,因此对 Python、Ruby 和 Groovy 等动态语言的兴趣日益增加。然而,Martin 的最新成果 Scala 打破了这一观点。
Scala 是一种精心设计类型的语言,它是静态类型的,但显式类型仅出现在恰当的位置。Scala 汲取了面向对象和函数式语言的强大特性,并将一些新颖的想法完美融合,形成了一个连贯的整体。其语法简洁,原语表达力强,使用 API 时几乎没有语法开销。例如,在标准库中的解析器组合器和参与者(actors)中都能体现这一点。从这个意义上说,Scala 支持嵌入式领域特定语言。
超级会员免费看
订阅专栏 解锁全文
438

被折叠的 条评论
为什么被折叠?



