Logo
Section 1 / 2

课程简介

了解本课程的大致内容和预期收获。

导入

课程简介

了解本课程的大致内容和预期收获。

函数式编程

在函数式编程范式中,函数是基本的构建单元,所有值都是不可变的,代码具有声明性。

当我们搜索“函数式编程”时,会遇到许多不常见的术语。它常常给人一种专为数学家设计的感觉,而非程序员。由于这些陌生的术语和以数学为导向的设计,难怪许多开发者觉得函数式编程难以入门。

函数式编程是一种编程范式。编程范式由构建软件的规则和设计原则组成,是一种思考编程语言的方式。函数式范式通过纯函数来构建软件,这些函数被组织起来描述软件应该做什么,而不是如何实现。基于这一理念,我们将从零开始深入学习函数式编程的基础知识。本课程将介绍 Elixir 的语法,同时以易于理解的速度讲解函数式编程的核心概念。

Elixir

Course Image

Elixir 是一种运行在 Erlang 虚拟机 BEAM(Bogdan/Björn 的 Erlang 抽象机)上的函数式编程语言。BEAM 是一个强大的环境,用于运行分布式系统。本课程选择 Elixir,是因为其有趣的语法、活跃的社区以及成熟的生产工具链。Elixir 的语法让我们在学习函数式编程时能够专注于核心内容。

Elixir 简洁且务实的语法使其对所有人来说都易于上手,即使是没有接触过函数式编程的人也能轻松入门。Elixir 是一种稳健且可投入生产的语言,它运行在已存在 30 年的 Erlang 生态系统中,提供九个九的可靠性:99.9999999% 的可用性。

课程概览

本课程将为你提供函数式编程概念的入门指南,并介绍 Elixir。课程共分为七个章节:

  • 第二章,[函数式编程入门](https://www.educative.io/courses/functional-programming-elixir/functional-programming-vs-imperative-programming),介绍贯穿整个课程的核心函数式编程概念。我们将学习为什么这些概念至关重要,以及它们如何帮助我们编写更优秀的软件。
  • 第三章,[使用变量与函数](https://www.educative.io/courses/functional-programming-elixir/introduction),我们将从零开始学习 Elixir,从简单的表达式到模块。我们将探索函数式程序的基本构建块:函数,并引入匿名函数和命名函数的概念。
  • 第四章,[使用模式匹配控制程序流程](https://www.educative.io/courses/functional-programming-elixir/making-two-things-match),我们将学习如何通过函数编写条件逻辑。模式匹配在此过程中起着核心作用。
  • 重复是任何编程语言中的基础任务。第五章,[深入递归](https://www.educative.io/courses/functional-programming-elixir/introduction-to-diving-into-recursion),我们将学习函数式编程中的实现方式:递归函数。
Course Image
  • 第六章,使用高阶函数,我们将探讨如何创建能隐藏复杂逻辑的更优函数。我们将学习如何编写可以接收或返回函数的函数,即高阶函数。
  • 第七章,设计你的 Elixir 应用程序,将聚焦于构建大型应用并进行合理组织。我们将探索数据建模、定义契约,以及利用 Elixir 实现多态性。
  • 最后,在第八章,处理不纯函数,我们将学习如何应对不纯函数。课程将分析四种策略的优缺点:条件代码、异常处理、单子(monads),以及 Elixir 的 with 语句。

目标受众

Course Image

如果你是一位准备迈向下一阶段的面向对象程序员,或是一名即将毕业的大学生正在寻找一门可投入使用的编程语言,那么这门课程非常适合你。如果你曾尝试学习 Elixir 但因函数式编程概念而感到困难,本课程将为你提供成为未来专家所需的知识。如果你已经是 Elixir 或函数式编程领域的专家,也会在这里发现一些有价值的技巧。

换句话说,无论你当前是否具备函数式编程经验,本课程都旨在通过 Elixir 拆解函数式编程的难点。

先修要求

本课程面向函数式编程和 Elixir 的初学者。为了最大程度地从中受益,你应该具备编写简单算法、调试错误以及在终端中运行命令的经验。此外,你应至少具备初级软件开发知识。其他编程语言的经验将有所帮助。你无需在上述任何领域成为专家,因为我们将从零开始教学。

Elixir 基础