美文网首页
Scala前言

Scala前言

作者: 学术界末流打工人 | 来源:发表于2020-02-01 00:26 被阅读0次

基本信息

Scala官方中文参考文档: Scala Documentation

Scala是什么: Scala是一门现代的多范式语言,志在以简洁、优雅及类型安全的方式来表达常用的编程模型。它平滑地集成了面向对象和函数式语言的特性。

Scala 特点

Scala 是面向对象的:鉴于一切值都是对象,可以说Scala是一门纯面向对象的语言。对象的类型和行为是由特质来描述的。类可以由子类化和一种灵活的、基于mixin的组合机制(它可作为多重继承的简单替代方案)来扩展。

Scala是函数式的:鉴于一切函数都是值,又可以说Scala是一门函数式语言。Scala为定义匿名函数提供了轻量级的语法,支持高阶函数,允许函数嵌套柯里化。Scala的样例类和内置支持的模式匹配代数模型在许多函数式编程语言中都被使用。对于那些并非类的成员函数,单例对象提供了便捷的方式去组织它们。

此外,通过对提取器的一般扩展,Scala的模式匹配概念使用了right-ignoring序列模式,自然地延伸到XML数据的处理。其中,for表达式对于构建查询很有用。这些特性使得Scala成为开发web服务等程序的理想选择。

Scala 是静态的:Scala配备了一个拥有强大表达能力的类型系统,它可以静态地强制以安全、一致的方式使用抽象。典型来说,这个类型系统支持:

Scala 是可扩展的:在实践中,特定领域应用的发展往往需要特定领域的语言扩展。Scala提供了一种语言机制的独特组合方式,使得可以方便地以库的形式添加新的语言结构。
很多场景下,这些扩展可以不通过类似宏(macros)的元编程工具完成。例如:

  • 隐式类允许给已有的类型添加扩展方法。
  • 字符串插值可以让用户使用自定义的插值器进行扩展。

Scala 的互操作性:Scala设计的目标是与流行的Java运行环境(JRE)进行良好的互操作,特别是与主流的面向对象编程语言——Java的互操作尽可能的平滑。Java的最新特性如函数接口(SAMs)、lambda表达式注解泛型类 在Scala中都有类似的实现。

另外有些Java中并没有的特性,如缺省参数值带名字的参数等,也是尽可能地向Java靠拢。Scala拥有类似Java的编译模型(独立编译、动态类加载),且允许使用已有的成千上万的高质量类库。

Highlight:

  • Scala是一门纯面向对象语言,可以实现多重继承。
  • Scala又是一门函数式语言,提供匿名函数的轻量级的语法,支持高阶函数,允许函数和嵌套以及柯里化。还提供了提供了模式匹配代数模型。
  • 它可以静态地强制以安全,一致的方式使用抽象,提供了类型推断。
  • 提供隐式类,和字符串插值
  • Scala运行于JVM之上,与JRE可以进行良好的互操作

环境配置

Scala安装:2.11.8

  1. Java8
  2. download scala
  3. unzip scala
  4. [option] ~/.bash_profile
  5. ./scala

References

  1. Scala 官网中文文档
  2. 学习Scala进击大数据Spark生态圈

相关文章

  • Scala前言

    一.概念 Scala建立在JVM之上,兼容了现有java程序,是一种纯粹的面向对象编程语言,而又无缝地结合了命令式...

  • Scala前言

    基本信息 Scala官方中文参考文档: Scala Documentation Scala是什么: Scala是一...

  • 安装Scala-2.11.7——集群学习日记

    前言 在安装Spark之前,我们需要安装Scala语言的支持。在此我选择的是scala-2.11.7版本。 sca...

  • 大佬用了2个小时讲完了Scala,总计385.76M,附Scal

    前言 Scala 是一门类 Java 的编程语言,它结合了面向对象编程和函数式编程。 Scala 的设计目的是要和...

  • Scala 隐式转换简明教程

    前言 对于 Spark 开发者来说 Scala 终究是个绕不过去的坎,而 对于 Scala ,隐式转换终究也是一个...

  • Scala学习资源整理

    前言: 最近正在接触Scala,所以就顺手整理了一份我看到的关于Scala的教程、文章等相关内容,不为别的,只为自...

  • scala(十一) 派生类与派生对象

    前言 Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。但是为了能够和J...

  • Scala学习笔记

    1 Scala入门 scala Hello World Scala变量 Scala变量 Scala字符串 Scal...

  • 2018-09-19

    在弄scala 关于scala问题 maven install 编译不了scala 添加 scala 插件 ...

  • scala 学习笔记-持续更新中

    学习列表: scala官方文档 scala cheat twitter Scala 课堂 有趣的 Scala 语言...

网友评论

      本文标题:Scala前言

      本文链接:https://www.haomeiwen.com/subject/fgwnthtx.html