Scala 中的可扩展性

Scalability in Scala

我正在阅读 Martin Odersky 的 Scala 书。

它指出 Scala 语言具有高度可扩展性,原因是它允许用户添加可用作本地语言支持的新功能。

这让我对 'Scalability' 这个词感到困惑。

我理解可扩展性意味着软件处理大量数据的能力。

那么这里有什么区别呢?

在 Scala 的上下文中,Odersky 通常意味着它是 可扩展的,因为它可以用于范围广泛的任务,从简单的脚本到大型库再到庞然大物的企业应用程序。

由于其类型推断、相对较少的冗长(与 Java 相比)和函数式风格(通常有助于更简洁的代码),它非常适合脚本编写。

由于其强大的类型系统,它适用于中等规模的应用程序和库,这意味着可以编写大部分或仅在编译时而不是运行时(在可能的范围内)产生错误的代码。表演!框架尤其是建立在这种理念之上的。此外,Scala 在 JVM 上运行,因此可以利用许多 Java 库中的任何一个。

它对企业软件有好处,因为它编译成 JVM 字节码,这在企业软件中已经有很好的记录;此外,它是静态类型的事实使得维护非常大的代码库变得更加容易。

Scala 还适用于许多其他领域,使它更加 "scalable": concurrency/parallelism 和特定领域的语言浮现在脑海中。

Here is a presentation Odersky,如果您从幻灯片 6 开始往前看,您还会看到他解释了 Scala 的其他一些用法。