概述
Scala是Scalable Language的缩写,是一种混合函数式编程语言。 它由Martin Odersky创建。 Scala顺利地集成了面向对象和功能语言的功能。 编译Scala以在Java虚拟机上运行。 许多依赖Java用于业务关键型应用程序的现有公司正在转向使用Scala来提高其开发效率,应用程序可伸缩性和整体可靠性。
在这里,我们提出了几点使Scala成为应用程序开发人员的首选。
Scala是面向对象的
Scala是一种纯粹的面向对象语言,因为每个值都是一个对象。 对象的类型和行为由类和特征描述,这将在后续章节中解释。
通过subclassing和灵活mixin-based composition机制来扩展subclassing ,作为多重继承的干净替代。
Scala很实用
Scala也是一种函数式语言,因为每个函数都是一个值,每个值都是一个对象,所以最终每个函数都是一个对象。
Scala提供了一种用于定义anonymous functions的轻量级语法,它支持higher-order functions ,它允许函数nested ,并支持currying 。 这些概念将在后续章节中解释。
Scala是静态类型的
与其他一些静态类型语言(C,Pascal,Rust等)不同,Scala不希望您提供冗余类型信息。 在大多数情况下,您不必指定类型,并且您当然不必重复它。
Scala在JVM上运行
Scala编译为Java Byte Code,由Java虚拟机(JVM)执行。 这意味着Scala和Java具有通用的运行时平台。 您可以轻松地从Java迁移到Scala。
Scala编译器将您的Scala代码编译为Java字节代码,然后可以通过' scala '命令执行。 ' scala '命令类似于java命令,因为它执行编译的Scala代码。
Scala可以执行Java代码
Scala使您可以使用Java SDK的所有类以及您自己的自定义Java类或您喜欢的Java开源项目。
Scala可以执行并发和同步处理
Scala允许您以有效的方式表达通用编程模式。 它减少了行数并帮助程序员以类型安全的方式进行编码。 它允许您以不可变的方式编写代码,这使得应用并发和并行(Synchronize)变得容易。
Scala与Java
Scala具有一系列与Java完全不同的功能。 其中一些是 -
- All types are objects
- Type inference
- 嵌套函数
- 功能是对象
- 域特定语言(DSL)支持
- Traits
- Closures
- Erlang启发的并发支持
Scala Web框架
Scala在各地都得到了使用,而且在企业Web应用程序中也很重要。 您可以查看一些最流行的Scala Web框架 -