程序员必备的一本工具书——《函数式与并发编程》

函数式编程是一种编程范式,起源于范畴论的数学分支,强调将计算看作函数求值的过程。与命令式编程相比,函数式编程更注重函数的定义、组合和应用,并设计了很多特性,如函数式数据结构和不可变性、递归函数等。

目前主流的编程语言,如 C++、Python、Java、Scala 和C#等,都具有函数式编程特性。

但在现实中,大部分程序员都主要使用某一种编程语言,他们往往先学习基本语法(也就是传统的命令式编程),只是偶尔了解或者听说一点函数式编程概念和特性。

函数式编程的用户较少而且停留在学术研究层面,这一编程范式的普及度远远不够。另一个导致函数式编程普及度不高的原因是,函数式编程是一种编程思想,涉及特性多,且许多程序都只采用了部分函数式编程风格,因此相关的教材较少。

并发编程是另外一种高级编程思想。并发编程可以提升系统性能,提高代码效率,增强程序的可扩展性,改善用户体验等,但并发编程复杂度大,学习成本较高,涉及的编程语言思想和特性多,极难掌握。

函数式编程和并发编程成为高级程序员的终极追求。能够灵活使用函数式编程和并发编程设计思想,解决实际生产中遇到的各种问题,也是编程艺术的体现。值得一提的是,后起之秀编程语言 Rust,是一门能构建可靠且高效软件的语言,以高性能、并发和安全性等特性而著称,得到了很多程序员的青睐,在 Stack Overfow 年度开发者调查中,连续八年荣登“最受欢迎编程语言”榜首。Rust对函数式编程和并发编程范式提供了很好的支持。

本书《函数式与并发编程》主要围绕两个主题:函数式编程和并发编程。本书主要使用Scala 编写代码示例,逐讲解各编程特性的用法和注意事项,是一本不可多得的工具书,强烈推荐给程序员们。

本书结构

本书第Ⅰ部分非常全面地介绍了类型化函数式编程的基本概念,特别是Scala中的基本概念:不可变数据结构、使用递归表达算法、高阶函数、延迟求值、模式匹配等。如果你已经熟悉Scala编程,可将第Ⅰ部分用作参考材料。

本书第Ⅱ部分涵盖并发/并行编程,其中包含并发/并行编程的基础知识,如非确定性、线程、锁、原子性、同步机制和使用Future与Promise的异步编程等。

本书不涉及更高级的主题,如分布式一致性算法、向量时钟等,你需要查阅其他资料来了解这些主题。然而,本书为并发/并行编程中的基本概念提供了详实的阐释和可运行的示例。

核心主题

● 递归和尾递归

● 模式匹配和代数数据类型

● 可持久化结构和不可变性

● 高阶函数和lambda表达式

● 延迟求值和流

● 线程和线程池

● 原子性和锁

● 同步和线程安全对象

● 无锁、非阻塞模式

● Future、Promise和函数并发编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值