Functional and Concurrent Programming: Core Concepts and Features

Charpentier, Michel

  • 出版商: Addison Wesley
  • 出版日期: 2022-11-28
  • 售價: $2,160
  • 貴賓價: 9.5$2,052
  • 語言: 英文
  • 頁數: 528
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 0137466544
  • ISBN-13: 9780137466542
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

Leverage Modern Language Constructs to Write High-Quality Code Faster

The functional and concurrent programming language features supported by modern languages can be challenging, even for experienced developers. These features may appear intimidating to OOP programmers because of a misunderstanding of how they work. Programmers first need to become familiar with the abstract concepts that underlie these powerful features.

In Functional and Concurrent Programming, Michel Charpentier introduces a core set of programming language constructs that will help you be productive in a variety of programming languages--now and in the future. Charpentier illustrates key concepts with numerous small, focused code examples, written in Scala, and with case studies that provide a thorough grounding in functional and concurrent programming skills. These skills will carry from language to language--including the most recent incarnations of Java. Using these features will enable developers and programmers to write high-quality code that is easier to understand, debug, optimize, and evolve.

Key topics covered include:

  • Recursion and tail recursion
  • Pattern matching and algebraic datatypes
  • Persistent structures and immutability
  • Higher-order functions and lambda expressions
  • Lazy evaluation and streams
  • Threads and thread pools
  • Atomicity and locking
  • Synchronization and thread-safe objects
  • Lock-free, non-blocking patterns
  • Futures, promises, and functional-concurrent programming


As a bonus, the book includes a discussion of common typing strategies used in modern programming languages, including type inference, subtyping, polymorphism, type classes, type bounds, and type variance.

Most of the code examples are in Scala, which includes many of the standard features of functional and concurrent programming; however, no prior knowledge of Scala is assumed. You should be familiar with concepts such as classes, methods, objects, types, variables, loops, and conditionals and have enough programming experience to not be distracted by simple matters of syntax.

商品描述(中文翻譯)

運用現代語言結構以更快速地撰寫高品質程式碼

現代語言所支援的函數式和並行程式設計特性,即使對於有經驗的開發者來說也可能具有挑戰性。這些特性可能會讓物件導向程式設計師感到困惑,因為對於它們的運作方式有所誤解。程式設計師首先需要熟悉這些強大特性背後的抽象概念。

在《函數式和並行程式設計》一書中,Michel Charpentier介紹了一組核心的程式語言結構,這些結構將幫助您在各種程式語言中提高生產力,無論是現在還是未來。Charpentier通過大量的小型、專注的Scala程式碼範例和案例研究來說明關鍵概念,從而提供了對函數式和並行程式設計技能的全面基礎。這些技能將適用於各種程式語言,包括最新的Java版本。使用這些特性將使開發者能夠撰寫更易於理解、調試、優化和演進的高品質程式碼。

主要涵蓋的主題包括:

- 遞迴和尾遞迴
- 模式匹配和代數資料類型
- 持久結構和不可變性
- 高階函數和Lambda表達式
- 懶惰評估和串流
- 線程和線程池
- 原子性和鎖定
- 同步和線程安全物件
- 無鎖、非阻塞模式
- 未來、承諾和函數式並行程式設計

此外,該書還討論了現代程式語言中常用的類型策略,包括類型推斷、子類型、多型、類型類別、類型邊界和類型變異。

大部分的程式碼範例都是使用Scala編寫的,Scala包含了許多函數式和並行程式設計的標準特性;然而,不需要事先了解Scala。您應該熟悉類別、方法、物件、類型、變數、迴圈和條件語句的概念,並且具有足夠的程式設計經驗,以免被簡單的語法問題分心。

作者簡介

Michel Charpentier is an associate professor with the Computer Science department at the University of New Hampshire (UNH). His interests over the years have ranged from distributed systems to formal verification and mobile sensor networks. He has been with UNH since 1999 and currently teaches courses in programming languages, concurrency, formal verification, and model-checking.

作者簡介(中文翻譯)

Michel Charpentier是新罕布什尔大学(UNH)计算机科学系的副教授。多年来,他的兴趣领域涵盖了分布式系统、形式验证和移动传感器网络。他自1999年以来一直在UNH任教,并目前教授编程语言、并发性、形式验证和模型检查等课程。