نام کتاب
Functional and Concurrent Programming

Core Concepts and Features

Michel Charpentier

Paperback516 Pages
PublisherAddison-Wesley
Edition1
LanguageEnglish
Year2023
ISBN9780137466542
787
A4803
انتخاب نوع چاپ:
جلد سخت
788,000ت
0
جلد نرم
888,000ت(2 جلدی)
0
طلق پاپکو و فنر
908,000ت(2 جلدی)
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#Programming

#OOP

توضیحات

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.


Table of Contents

Part I: Functional Programming

Chapter 1 Concepts of Functional Programming

Chapter 2 Functions in Programming Languages

Chapter 3 Immutability

Chapter 4 Case Study: Active{Passive Sets

Chapter 5 Pattern Matching and Algebraic Data Types

Chapter 6 Recursive Programming

Chapter 7 Recursion on Lists

Chapter 8 Case Study: Binary Search Trees

Chapter 9 Higher-Order Functions

Chapter 10 Standard Higher-Order Functions

Chapter 11 Case Study: File Systems as Trees

Chapter 12 Lazy Evaluation

Chapter 13 Handling Failures

Chapter 14 Case Study: Trampolines


Part II: Concurrent Programming

Chapter 16 Concepts of Concurrent Programming

Chapter 17 Threads and Nondeterminism

Chapter 18 Atomicity and Locking

Chapter 19 Thread-Safe Objects

Chapter 20 Case Study: Thread-Safe Queue

Chapter 21 Thread Pools

Chapter 22 Synchronization

Chapter 23 Common Synchronizers

Chapter 24 Case Study: Parallel Execution

Chapter 25 Futures and Promises

Chapter 26 Functional-Concurrent Programming

Chapter 27 Minimizing Thread Blocking

Chapter 28 Case Study: Parallel Strategies Appendix A Features of Java and Kotlin


About the Code Examples

The primary value of this book lies in its code illustrations. To a large extent, the text is there to support the code, more than the other way around. The code examples tend to be short and focused on the concepts they aim to illustrate. In particular, very few examples are designed to perform the specific tasks you need to solve in your daily programming activities.


Why Scala?

  • It is feature-rich, making it possible to illustrate many concepts without switching languages
  • Scala was introduced fairly recently and was carefully (and often beautifully) designed
  • The syntax is quite conventional and easy to follow for most programmers without prior exposure to the language


About the Author

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.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Software Development
1,274
Understanding Distributed Systems
541,000 تومان
Design Patterns
1,432
Patterns, Principles, and Practices of Domain-Driven Design
1,195,000 تومان
Software Development
935
Managing IT Projects
410,000 تومان
Software Development
890
Becoming Functional
327,000 تومان
Software Development
597
Software Design for Resilient Computer Systems
616,000 تومان
Java
1,035
Real-World Software Development
384,000 تومان
Agile & Scrum
1,133
Agile Software Development, Principles, Patterns, and Practices
1,011,000 تومان
الگوریتم‌‌ها
2,201
Cracking the Coding Interview
1,099,000 تومان
Software Development
465
Software Testing for Managers
311,000 تومان
Software Development
905
The Complete Software Developer's Career Guide
1,090,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©