简介
Scala运行于 java平台( java虚拟机),并兼容现有的 java程序。
Scala 是一门多范式的编程语言, 一种类似 java的编程语言
,设计初衷是要集成面向对象编程和函数式编程的各种特性。
scala 在线编译运行工具
我们认为最有意义的学习方式是,不要把 Scala 看做是改进的 Java,而是把它作为一门新的语言。所以这里不会介绍 Java 的使用经验,而将集中讲解解释器和“对象-函数式”的风格,以及 Scala 编程风格。特别强调了可维护性,并发,常用工具和利用类型系统的优势。
为什么选择 Scala
- 表达能力
- 函数是一等公民
- 闭包
- 简洁
- 类型推断
- 函数创建的文法支持
- scala 在线编译运行工具
- Java互操作性
- 可重用 Java 库
- 可重用 Java 工具
- 没有性能惩罚
在线编译运行工具
学习前提
Scala 是一种相对较新的语言,但借鉴了许多熟悉的概念,所以在学习前,我们假设您已经对面向对象编程、并发、可维护等基本编程思想有了一定的了解。
与 Java相比较,Scala 的优势:
- FP 泛型支持
- 类型系统支持
- Scala 比 Java 更加安全, 同时又具备灵活性, 想象力.
- 在 Java 中, 不能继承多个 AbstractClass只支持单继承 在Scala 中, 你可以进行 mixin (Java 8 也开始引入 default method )
- Scala 的表达力很强, 相同功能的代码, 用 Java 和 Scala 的行数不可同日而语.
- Scala 能无缝结合 Java
- scala 在线编译运行工具
- 对于程序员来说: Scala 很难学, 但值得学
- 对于企业来说: Scala 是过滤优秀(好学)程序员(Geek)的好滤斗.
但是
- 语法复杂, 学习曲线非常高
- 国内 Scala 程序员很难找 (目前 Scala 的影响力也在缓慢扩大, 比如 Scala 社区中的明星 Spark 的流行也在慢慢拉动 Scala 的流行, 如同 rails 之于 ruby)
社区, 生态还比较小, Scala 风格的库还非常少(但可以和 Java 很容易的衔接在很多时候弥补了这一点)
- scala 在线编译运行工具