Favorites
b/popularbooksbysammoh

Functional Design: Principles, Patterns, and Practices (2nd Early Release)

Functional Design: Principles, Patterns, and Practices (2nd Early Release)

English | ISBN: 9780138176518 | 249 pages | 2023 | EPUB | 7.87 MB

A Practical Guide to Better, Cleaner Code with Functional Programming

In Functional Design, renowned software engineer Robert C. Martin ("Uncle Bob") explains how and why to use functional programming to build better systems for real customers. Martin compares conventional object-oriented coding structures in Java to those enabled by functional languages, identifies the best roles for each, and shows how to build better systems by judiciously using them in context.

Martin's approach is pragmatic, minimizing theory in favor of "in the-trenches" problem-solving. Through accessible examples, working developers will discover how the easy-to-learn, semantically rich Clojure language can help them improve code cleanliness, design, discipline, and outcomes. Martin examines well-known SOLID principles and Gang of Four patterns from a functional perspective, revealing why patterns remain extremely valuable to functional programmers, and how to use them to achieve superior results.

Understand functional basics: immutability, persistent data, recursion, iteration, laziness, and statefulness

Contrast functional and object approaches through expertly crafted case studies

Explore functional design techniques for data flow

Use classic SOLID principles to write better Clojure code

Master pragmatic approaches to functional testing, GUIs, and concurrency

Make the most of design patterns in functional environments

Walk through building an enterprise-class Clojure application

"Functional Design exudes 'classic-on-arrival.' Bob pulls back the curtain to reveal how functional programming elements make software design simple yet pragmatic. He does so without alienating experienced object-oriented programmers coming from languages like C#, C++, or Java."

--Janet A. Carr, Independent Clojure Consultant
.

No comments have been posted yet. Please feel free to comment first!

    Load more replies

    Join the conversation!

    Log in or Sign up
    to post a comment.