Scale 语言特点|学习笔记

简介: 快速学习 Scale 语言特点。

开发者学堂课程【Scala 核心编程-基础Scale 语言特点】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8878


Scale 语言特点

 

内容介绍

一、概述

二、特点

三、学习重点

四、动、静态类型编程语言

五、能力培养

 

一、概述

1、定义

Scala 是一门以 java 虛拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。

2、要点

(1)、必然为静态类型

本身已转变为字节码

(2)、必然支持 java 必然支持面向对象

(3)、具有特殊函数式则必然支持函数式功能

 

二、特点

1、定义

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

(1)、范式

编程的方式

(2)、主要内容

面向对象、函数式

2、运行过程

Scala 源代码(scala)会被编译成 Java 字节码(.class),运行于 JVM 之上,并可调用现有的 Java 类库,实现两种语言的无缝对接(需观察实际情况)。

3、特点

scala 单作为一门语言来看,具有简洁高效的特点(三元运算, ++,--)

(1)、改变

改变1

由于在一般 java 学习的过程中,三元运算运用较多。但 Scala 中不存在三元运算:即使用 if else 对三元运算进行了替换,使得逻辑更为简洁。

改变2

存在混淆可能的语法被删去,如:++、--

(2)、实例

实例1

//scala 中不存在三元运算

val res=if (条件表达式)值 else 值

实例2

/ /java 语言内

int i= 10;

i++;

//scale 语言内不支持如上书写

//scla 语言内:

var i: Int=10

i++ //此书写方式错误

i+=1 //此书写方式正确

以上实例体现了 Scale 对于++、--的简化,使得逻辑更为清晰。

4、java 与 Scala

Scala 在设计时,马丁奥德斯基参考了 Java 的设计思想。故 Scala 源于 java,同时马丁奥德斯基也将函数式编程语言的特点融合到 JAVA 中,因此,在此前学习过 java 后,只需在 Scala 学习过程中理解两者的相同点、不同点,就可快速掌握 Scala 语言。

 

三、学习重点

1、Scala 的特有语法

2、清楚明了 Scala、java 的区别

3、如何规范使用 Scala

 

四、动、静态类型编程语言

从编程语言范围出发,具有两大类语言:动态类型语言、静态类型编程语言。

1、动态编程语言

(1)、属于动态类型的编程语言

javascript、Python、PHP 等

(2)、作用

解释执行。在执行过程中将此句话动态地加载进执行编译器之中进行执行。

2、静态类型编程语言

含义:在执行之前语言类型就已被确定。

 

五、能力培养

在学习 Scala 等其他语言的过程中,掌握对此框架的描述,最终培养表达演说的能力,以达到管理才能的优化。

相关文章
|
SQL 分布式计算 MaxCompute
odps sql 怎么实现递归查询?
odps sql 怎么实现递归查询?
1305 1
|
存储 应用服务中间件 API
MinIO 参数解析与限制
MinIO 参数解析与限制 MinIO server 在默认情况下会将所有配置信息存到 ${HOME}/.minio/config.json 文件中。 以下部分提供每个字段的详细说明以及如何自定义它们。
6427 0
|
分布式计算 资源调度 Java
|
JSON NoSQL Java
【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)
【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)
646 0
|
IDE Linux 开发工具
NumPy 安装
Python 官网上的发行版是不包含 NumPy 模块的。 我们可以使用以下几种方法来安装。
455 10
|
资源调度 Java 关系型数据库
实时计算 Flink版产品使用问题之如何解决内存占用过大的问题
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Linux Go Windows
一文解决 Go 安装和常用环境变量的配置
一文解决 Go 安装和常用环境变量的配置。本文只介绍 Windows 和 Linux 操作系统下的安装方式。
807 1
一文解决 Go 安装和常用环境变量的配置
|
人工智能 自然语言处理 搜索推荐
文本向量化模型新突破——acge_text_embedding勇夺C-MTEB榜首
在人工智能的浪潮中,大型语言模型(LLM)无疑是最引人注目的潮头。在支撑这些大型语言模型应用落地方面,文本向量化模型(Embedding Model)的重要性也不言而喻。 近期,我在浏览huggingface发现,国产自研文本向量化模型acge_text_embedding(以下简称“acge模型”)已经在业界权威的中文语义向量评测基准C-MTEB(Chinese Massive Text Embedding Benchmark)中获得了第一名。
文本向量化模型新突破——acge_text_embedding勇夺C-MTEB榜首
|
Java API 开发工具
解决 Android 依赖冲突
解决 Android 依赖冲突
640 0
|
分布式计算 Spark
Spark 中的 Rebalance 操作以及与Repartition操作的区别
Spark 中的 Rebalance 操作以及与Repartition操作的区别
1323 0