𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Functional, Object-Oriented, and Concurrent Programming

✍ Scribed by Michel Charpentier


Publisher
Addison-Wesley Professional
Year
2023
Tongue
English
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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 languagesnow 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 languageincluding 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.


πŸ“œ SIMILAR VOLUMES


Object-Oriented Concurrent Programming
✍ Akinori Yonezawa, Mario Tokoro πŸ“‚ Library πŸ“… 1987 πŸ› The MIT Press 🌐 English

This book deals with a major theme of the Japanese Fifth Generation Project, which emphasizes logic programming, parallelism, and distributed systems. It presents a collection of tutorials and research papers on a new programming and design methodology in which the system to be constructed is modele

Functional Programming for the Object-Or
✍ Brian Marick πŸ“‚ Library πŸ“… 2012 🌐 English

Many, many of the legendary programmers know many programming languages. What they know from one language helps them write better code in another one. But it’s not really the language that matters: adding knowledge of C# to your knowledge of Java doesn’t make you much better. The languages are too s

Research Directions in Concurrent Object
✍ Gul Agha, Peter Wegner, Akinori Yonezawa πŸ“‚ Library πŸ“… 1993 πŸ› The MIT Press 🌐 English

This collection of original research provides a comprehensive survey of developments at the leading edge of concurrent object-oriented programming. It documents progressβ€”from general concepts to specific descriptionsβ€”in programming language design, semantic tools, systems, architectures, and applica

Research Directions in Concurrent Object
✍ Agha G., Wegner P., Yonezawa A. (eds.) πŸ“‚ Library πŸ“… 1993 πŸ› MIT 🌐 English

<P>This collection of original research provides a comprehensive survey of developments at the leading edge of concurrent object-oriented programming. It documents progress -- from general concepts to specific descriptions -- in programming language design, semantic tools, systems, architectures, an