Externally indexed torrent
If you are the original uploader, contact staff to have it moved to your account
Textbook in PDF format
Learn how to think and write code like a functional programmer. With this practical guide, software developers familiar with object-oriented programming will dive into the core concepts of functional programming and learn how to use both functional and OOP features together on large or complex software projects.
Author Jack Widman uses samples from Java, Python, C#, Scala, and JavaScript to help you gain a new perspective and a set of tools for managing the complexity in your problem domain. You'll be able to write code that's simpler, reusable, easier to test and modify, and more consistently correct. This book also shows you how to use patterns from category theory to help bridge the gap between OOP and functional programming.
So, what is functional programming? What makes one language functional and another not functional? The truth is that to some extent it is a matter of degree. You don’t have to follow every principle that falls under the heading of functional programming. Some people will try to follow all of them, and others will pick and choose. It is totally up to you. Functional Programming (FP), is a paradigm, an approach to programming, a way of breaking up the world and putting it back together in code. It involves both how we organize that piece of the world we are modeling and how we organize and structure the code.
Learn functional programming fundamentals and explore the way functional programmers approach problems
Understand how FP differs from object-oriented and imperative programming
Use a set of practical, applicable design patterns that model reality in a functional way
Learn how to incorporate FP and OOP features into software projects
Apply functional design patterns appropriately and use them to write correct, robust, and easily modifiable code