`
cakin24
  • 浏览: 1389721 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Scala概述

阅读更多

一 特性

1、Scalable编程语言
2、纯正的面向对象语言
3、函数式语言
4、无缝的java互操作
 
二 函数式编程思想
1、什么是函数式编程
“就是只用纯函数来编写程序啦”
纯函数,或函数的纯粹性,没有副作用。
副作用是状态的变化。
例如:修改了全局变量、抛出了异常、IO读写、调用有副作用的函数。


 
上例中XplusY_V1对X不具备副作用,它是一个纯函数。
XplusY_V2对X具有副作用。
2、引用透明性
对于相同的输入,总得到相同的输出。
3、纯函数
如果f(x)的参数x和函数体都是引用透明的,那么函数f是纯函数。
4、例子:违反引用透明。


 
append函数违反了引用透明性。
5、不变性
为了获得引用透明性,任何值都不能变化。
6、函数是一等公民
一切都是计算,函数式编程中只有表达式,变量和函数都是表达式。
7、表达式求值策略:严格求值和非严格求值。
8、惰性求值。
定义时不去求值,只有在第一次使用时,才去求值。
9、递归函数
递归实现循环和尾递归。
 
三 函数式编程优点。
1、生产效率高:同样功能的程序,Lisp代码的长度只有C语言的七分之一到十分之一。
2、易于推理。
3、并行编程
4、多核计算、云计算。
 
四 函数式编程的崛起
摩尔定律
多核处理器
云计算时代
  • 大小: 102.8 KB
  • 大小: 123.1 KB
1
0
分享到:
评论

相关推荐

    Scala 概述(瑞士洛桑联邦理工)

    Scala 概述(瑞士洛桑联邦理工) Scala 概述(瑞士洛桑联邦理工)

    大数据课程-Scala编程基础-1.Scala语言初识_lk_edit.ppt

    1. Scala概述:了解Scala的历史、目标和设计原则。 2. Scala的下载安装:确保安装了JDK 1.8或更高版本,然后下载Scala安装文件并配置环境变量。 3. IDEA中安装Scala插件:在IntelliJ IDEA中搜索并安装Scala插件,...

    scala课件.zip

    Scala概述.pptx 变量.pptx 运算符.pptx 程序流程控制.pptx 函数式编程基础.pptx 面向对象编程(基础部分).pptx 面向对象编程(中级部分).pptx 面向对象编程(高级特性).pptx 隐式转换和隐式参数.pptx 集合(上)-基本使用...

    A Brief Introduction to Scala

    #### Scala概述 Scala是一种相对新兴的编程语言,旨在为Java虚拟机(JVM)以及后来的通用语言运行时(CLR)提供支持。它融合了函数式编程(Functional Programming, FP)与面向对象编程(Object-Oriented Programming, OOP...

    scala的操作笔记

    #### 二、Scala概述 ##### 2.1 什么是Scala Scala是一种多范式编程语言,它结合了面向对象编程与函数式编程的特点。Scala语言的设计目标之一就是尽可能地提高代码的可读性和简洁性,同时保持高性能。由于Scala运行...

    Scala for the Impatient 完整版带书签

    #### 三、Scala概述 Scala是一种多功能的现代编程语言,它结合了面向对象编程和函数式编程的特点,旨在提高代码的可读性和可维护性。Scala运行在Java平台上,能够无缝地与其他Java技术集成,这使得它成为了一个非常...

    scala编程基础

    **Scala概述**: - **定义**:Scala是一种功能强大的编程语言,旨在集成面向对象编程和函数式编程的特点。它运行在Java平台上,并且与Java高度兼容。 - **为何选择Scala**: - **优雅性**:良好的API设计可以极大...

    Scala学习笔记(全)

    #### 一、Scala概述与特点 Scala是一种多范式的编程语言,旨在集成面向对象编程和函数式编程的各种特性。它运行于Java平台(Java虚拟机JVM),并且能够完全兼容所有的Java程序。这使得Scala不仅能够利用Java生态...

    Scala编程基础.docx

    Scala 概述 Scala 是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行于 Java 平台(Java 虚拟机),并兼容现有的 Java 程序。 为什么要学 Scala 1. 优雅:Scala 语言...

    SCALA 入门材料

    #### Scala 概述 - **定义与特点**:Scala是一种结合了面向对象编程和函数式编程特性的多范式编程语言。它运行于Java虚拟机(JVM)之上,并且能够与Java代码无缝集成。 - **学习Scala的原因**: - **优雅性**:良好的...

    Scala简单说明

    #### Scala概述 Scala是一种多范式的编程语言,它支持面向对象编程以及函数式编程。这种灵活性使得Scala能够适应不同的编程需求,并且能够有效地提高代码质量和开发效率。 #### Scala环境 为了能够在计算机上运行...

    spark总结

    ### Spark与Scala概述 1. **Spark简介**: - Apache Spark是一款开源的大数据处理框架,支持分布式数据集的并行操作。 - Spark以其高效的数据处理能力而闻名,尤其是在内存计算方面表现出色。 - 它能够提供一种...

    scala习题精选100道附带解析

    - **知识点概述**:Scala提供了多种数值类型以适应不同的数据处理需求。这些类型包括整数类型、浮点数类型以及字符类型等。 - **详细解析**: - **Char**:16位无符号Unicode字符。 - **Int**:32位有符号整数。 ...

    scala 教程

    #### 二、Scala语言概述 根据文档的部分内容,本书由Scala语言的创造者Martin Odersky与合作者Lex Spoon及Bill Venners共同编写。本书提供了对Scala语言的全面介绍,包括其基础语法、面向对象编程、函数式编程等...

    Scala详细总结(精辟版++)

    #### 概述 Scala是一种静态类型的编程语言,其设计旨在结合面向对象编程和函数式编程的优点,并且能在Java虚拟机(JVM)上运行。这意味着Scala能够充分利用现有的Java类库,并且能够与Java代码无缝集成。Scala不仅支持...

    Scala 电子书

    "Scala Overview"可能是一个简洁的概述,旨在为读者提供Scala语言的整体视图。它可能会快速介绍Scala的关键特点,如它的面向表达式风格,函数式编程元素,以及如何利用其强大的类型系统来减少错误。这本书可能适合...

    Scala Spark Bindings.pdf

    文档的概述部分还提到了Mahout数学矩阵模型1的概况,该模型从一开始就针对密集和稀疏数据结构进行类型建模和成本优化计算。文档尝试通过提供语义明确性来增强Mahout的内核和外核线性代数子程序的操作性,并结合Scala...

Global site tag (gtag.js) - Google Analytics