课程主页: https://www.coursera.org/learn/scala2-functional-programming
在当今的软件开发行业,函数式编程正逐渐成为一种颇受欢迎的编程范式,而Scala作为多种应用程序的主要编程语言,正是这一趋势的先锋。今天,我想与大家分享Coursera上一个非常精彩的课程:《Scala中的函数式编程原则(Scala 2版本)》。
### 课程概述
这个课程的出发点是帮助学生理解函数式编程的基本概念以及Scala语言的内在魅力。Scala是一种融合了函数式编程与面向对象编程的语言,它不仅与Java和JavaScript无缝连接,还被广泛应用于许多重要的框架,例如Apache Spark、Kafka和Akka。可以说,Scala为Twitter、Tumblr等网站提供了核心基础设施。
### 课程大纲
#### 1. 初步入门与函数与评估
课程开始,你将学习如何在你的计算机上运行Scala。通过一个示例作业,你将了解我们独特的提交作业的方式。本周,我们将探讨函数式编程和命令式编程之间的区别,涵盖基础的表达式、评估、条件语句、函数和递归。
#### 2. 高阶函数
在这一周,我们将学习第一类值作为函数的概念,以及高阶函数的定义。同时,我们也会学习Scala的语法及其形式定义,探索方法、类和数据抽象,通过合理设计有理数的数据结构。
#### 3. 数据与抽象
本周将覆盖traits,我们还将学习如何将类组织成层次结构。通过了解Scala标准类型的层次结构,探索如何将类和traits组织成包,并简要了解Scala中的几种多态性。
#### 4. 类型与模式匹配
这周我们将探讨Scala中函数与对象的关系:函数实质上是对象!我们将聚焦于Scala的类型系统,涵盖子类型和泛型,并深入了解变异性等高级概念。最后,我们将学习Scala最常用的数据结构——列表,以及Scala最强大的工具之一:模式匹配。
#### 5. 列表
这一周,我们将深入探索Scala中最常用的数据结构——列表。
#### 6. 集合
经过对列表的深入研究,本周我们将探讨其他数据结构如向量、映射、范围、数组等,并深入了解Scala强大且灵活的for-comprehensions用于数据查询。
### 总结
通过这个课程,您不仅能掌握Scala的基本语法和特性,还能深入理解函数式编程的理念。在现代编程实践中,掌握这些知识将极大地提升你的编程能力与思维方式。因此,我强烈推荐给对函数式编程和Scala感兴趣的朋友们!
课程主页: https://www.coursera.org/learn/scala2-functional-programming