Scala第一天——Scala概述

本文是Scala入门介绍,详细阐述了学习Scala的原因,如运行在JVM和JavaScript上的静态类型语言,结合面向对象和函数式编程特点。Scala通过其简洁、高效的语法,强大的类型系统和可扩展的架构,成为构建复杂系统的理想选择,同时能无缝对接Java生态。
摘要由CSDN通过智能技术生成

Scala第一天——Scala概述

自己的话:漆黑的黑夜 表示着威胁 我选择诙谐

工作在堆叠 没兑现归结于那些理解

Scala概述


一、学习Scala原因

在这里插入图片描述


二、Scala 语言的特点

Scala 是一门以 java 虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
你可以使用 Scala 编写出更加精简的程序,也能用于构建大型复 杂系统,并且他可以访问任何 Java 类库并且与 Java 框架进行互操作。

1.Scala 是一门多范式 (multi-paradigm) 的编程语言,Scala 支持面向对象和函数式编程

2.Scala 源代码(.scala)会被编译成 Java 字节码(.class),然后运行于 JVM 之上,并可以调用现有的
Java 类库,实现两种语言的无缝对接。[案例演示]

3.Scala 单作为一门语言来看, 非常的简洁高效 (三元运算, ++ , --)

4.Scala 在设计时,马丁·奥德斯基 是参考了 Java 的设计思想,可以说 Scala 是源于 java,同时
马丁·奥德斯基 也加入了自己的思想,将函数式编程语言的特点融合到 JAVA 中, 因此,对于学习过
Java 的同学,只要在学习 Scala 的过程中,搞清楚 Scala 和 java 相同点和不同点,就可以快速的掌握
Scala 这门语言

5.快速有效掌握 Scala 的三点建议 [1. 学习 scala 的特有的语法 2. 区别 scala 和 Java 3. 如何规范使用 scala]


三、什么是静态语言

1、运行在 JVM 和 JavaScript 之上的语言

Scala 不仅利用了 JVM 的高性能以及最优化性,Java 丰富的工具及类
库生态系统也为其所用。不过 Scala 并不是只能运行在 JVM 之上! Scala.js (http://www.scala-js.org)正在尝试将其迁移到 JavaScript 世界。

2、静态类型

在 Scala 语言中,静态类型(static typing)是构建健壮应用系统的一个
工具。Scala 修正了 Java 类型系统中的一些缺陷,此外通过类型推演(type inference)也免除了大量的冗余代码。

3、混合式编程范式——面向对象编程

Scala 完全支持面向对象编程(OOP)。Scala 引入特征(trait)改进了
Java 的对象模型。trait 能通过使用混合结构(mixin composition)简洁地实 现新的类型。在 Scala 中,一切都是对象,即使是数值类型。

4、混合式编程范式——函数式编程

Scala 完全支持函数式编程(FP),函数式编程已经被视为解决并发、
大数据以及代码正确性问题的最佳工具。使用不可变值、被视为一等公民的 函数、无副作用的函数、高阶函数以及函数集合,有助于编写出简洁、强大 而又正确的代码。

5、复杂的类型系统

Scala 对 Java 类型系统进行了扩展,提供了更灵活的泛型以及一些有助 于提高代码正确性的改进。通过使用类型推演,Scala 编写的代码能够和动态 类型语言编写的代码一样精简。

6、简洁、优雅、灵活的语法

使用 Scala 之后,Java 中冗长的表达式不见了,取而代之的是简洁的
Scala 方言。Scala 提供了一些工具,这些工具可用于构建领域特定语言 (DSL),以及对用户友好的 API 接口。

7、可扩展的架构

使用 Scala,你能编写出简短的解释性脚本,并将其粘合成大型的分布式
应用。以下四种语言机制有助于提升系统的扩展性:1) 使用 trait 实现的混 合结构;2) 抽象类型成员和泛型;3) 嵌套类;4) 显式自类型(self type)。


四、Scala 和 Java 以及 jvm 的关系分析图

在这里插入图片描述
在这里插入图片描述


保持前进


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值