Learn how functional programming can help you in deploying web servers and working with databases in a declarative and pure way
Key Features
Learn functional programming from scratch
Program applications with side effects in a pure way
Gain expertise in working with array tools for functional programming
Book DescriptionIn large projects, it can get difficult keeping track of all the interdependencies of the code base and how its state changes at runtime. Functional Programming helps us solve these problems. It is a paradigm specifically designed to deal with the complexity of software development. This book will show you how the right abstractions can reduce complexity and make your code easy to read and understand.
Mastering Functional Programming begins by touching upon the basics such as what lambdas are and how to write declarative code with the help of functions. It then moves on to more advanced concepts such as pure functions and type classes, the problems they aim to solve, and how to use them in real-world scenarios. You will also explore some of the more advanced patterns in the world of functional programming, such as monad transformers and Tagless Final. In the concluding chapters, you will be introduced to the actor model, implement it in modern functional languages, and explore the subject of parallel programming.
By the end of the book, you will have mastered the concepts entailing functional programming along with object-oriented programming (OOP) to build robust applications.
What you will learn
Write reliable and scalable software based on solid foundations
Explore the cutting edge of computer science research
Effectively solve complex architectural problems in a robust way
Avoid unwanted outcomes such as errors or delays and focus on business logic
Write parallel programs in a functional style using the actor model
Use functional data structures and collections in your day-to-day work
Who this book is forIf you are from an imperative and OOP background, this book will guide you through the world of functional programming, irrespective of which programming language you use.
Sprache
Verlagsort
Zielgruppe
Maße
Höhe: 235 mm
Breite: 191 mm
Dicke: 20 mm
Gewicht
ISBN-13
978-1-78862-079-6 (9781788620796)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
Anatolii Kmetiuk is a Functional Programming and Data Science Freelance Developer. During his programming career, he has worked on Scala projects involving parallel computing, web APIs, SaaS, and data engineering. His areas of expertise include using applications of pure functional programming to build fault-tolerant, reactive systems, as well as parallel computing. Another area of his focus is machine learning and natural language processing.
Table of Contents
Declarative Programming Style
Functions and Lambdas
Functional Data Structures
The Problem of Side Effects
Effect Types: Abstracting Away Side Effects
Effect Types in Practice
The Idea of the Type Classes
Basic Type Classes and Their Usage
Libraries for Pure Functional Programming
Patterns of Advanced Functional Programming
Introduction to the Actor Model
Actor Model in Practice
Use Case: A Parallel Web Crawler
Appendix: Introduction to Scala