Functional and Concurrent Programming: Core Concepts and Features
暫譯: 函數式與併發程式設計:核心概念與特性

Charpentier, Michel

  • 出版商: Addison Wesley
  • 出版日期: 2022-11-28
  • 售價: $2,350
  • 貴賓價: 9.5$2,233
  • 語言: 英文
  • 頁數: 528
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 0137466544
  • ISBN-13: 9780137466542
  • 相關翻譯: 函數式與並發編程 (簡中版)
  • 立即出貨 (庫存 < 3)

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

相關主題

商品描述

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.

商品描述(中文翻譯)

利用現代語言結構更快地編寫高品質代碼

現代語言所支持的函數式和併發編程語言特性,即使對於經驗豐富的開發者來說,也可能是具有挑戰性的。這些特性對於物件導向程式設計(OOP)程序員來說,可能因為對其運作方式的誤解而顯得令人生畏。程序員首先需要熟悉這些強大特性背後的抽象概念。

函數式與併發編程一書中,Michel Charpentier 介紹了一組核心的編程語言結構,這將幫助你在各種編程語言中提高生產力——無論是現在還是未來。Charpentier 通過大量小而專注的代碼示例(使用 Scala 編寫)和案例研究來說明關鍵概念,這些案例研究提供了對函數式和併發編程技能的全面基礎。這些技能將在不同語言之間轉移——包括最新版本的 Java。使用這些特性將使開發者和程序員能夠編寫更易於理解、調試、優化和演進的高品質代碼。

涵蓋的主要主題包括:

- 遞歸和尾遞歸
- 模式匹配和代數數據類型
- 持久結構和不可變性
- 高階函數和 Lambda 表達式
- 懶惰評估和流
- 線程和線程池
- 原子性和鎖定
- 同步和線程安全對象
- 無鎖、非阻塞模式
- 未來、承諾和函數式併發編程

作為額外內容,本書還討論了現代編程語言中常用的類型策略,包括類型推斷、子類型、多型、類型類、類型邊界和類型變異。

大多數代碼示例使用 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.

作者簡介(中文翻譯)

米歇爾·夏爾潘提耶是新罕布什爾大學(UNH)計算機科學系的副教授。他多年的研究興趣涵蓋了分散式系統、形式驗證和移動感測器網路。他自1999年以來一直在UNH任教,目前教授程式語言、併發性、形式驗證和模型檢查等課程。