If youve had trouble trying to learn Functional Programming FP , youre not alone In this book, Alvin Alexander author of the Scala Cookbook and former teacher of Java and Object Oriented Programming OOP classes writes about his own problems in trying to understand FP, and how he finally conquered it What he originally learned is that experienced FP developers are driven by two goals to use only immutable values, and write only pure functions What he later learned is that they have these goals as the result of another larger goal they want all of their code to look and work just like algebra While that sounds simple, it turns out that these goals require them to use many advanced Scala features which they often use all at the same time As a result, their code can look completely foreign to novice FP developers As Mr Alexander writes, When you first see their code its easy to ask, Why would anyone write code like this Mr Alexander answers that Why question by explaining the benefits of writing pure functional code Once you understand those benefits your motivation for learning FP he shares five rules for programming in the book All fields must be immutable val fields All functions must be pure functions Null values are not allowed Whenever you use an if you must also use an else You wont create OOP classes that encapsulate data and behavior instead youll design data structures using Scala case classes, and write pure functions that operate on those data structures In the book youll see how those five, simple rules naturally lead you to write pure, functional code that reads like algebra He also shares one Golden Rule for learning Always ask Why Lessons in the book include How and why to write only pure functions Why pure function signatures are much important than OOP method signatures Why recursion is a natural tool for functional programming, and how to write recursive algorithms Because the Scala for expression is so important to FP, dozens of pages explain the details of how it works In the end youll see that monads arent that difficult because theyre a natural extension of the Five Rules The book finishes with lessons on FP data modeling, and two main approaches for organizing your pure functions As Mr Alexander writes, In this book I take the time to explain all of the concepts that are used to write FP code in Scala As I learned from my own experience, once you understand the Five Rules and the small concepts, you can understand Scala FP Please note that because of the limits on how large a printed book can be, the paperback version does not include all of the chapters that are in the Kindle eBook The following lessons are not in the paperback version Grandma s Cookies a story about pure functions The ScalaCheck lessons The Type Classes lessons The appendices Because those lessons didn fit in the print version, they have been made freely available online Alvin Alexander alvinalexander.com wrote the popular Scala Cookbook for OReilly, and also self published two other books, How I Sold My Business A Personal Diary, and A Survival Guide for New Consultants....
|Title||:||Functional Programming, Simplified: (Scala Edition)|
|Number of Pages||:||383 Pages|
|File Size||:||986 KB|
|Status||:||Available For Download|
|Last checked||:||21 Minutes ago!|
Functional Programming, Simplified: (Scala Edition) Reviews
Update: I'm doing my second readthrough and I'm really appreciating this time. Will give a full reviews when I actually fully read it now that he's released 1.0
Alvin Alexander writes in a very concise style that is easy to comprehend. He does exceptional job of translating the jargon associated with functional programming. This is a good place to start if you are new to both Scala and functional programming or just needing a refresher. Most FP books tend to start at too high of a level or already you have learned Haskell. This book will save you a lot of time by skipping both of those prerequisites even though you may want learn Haskell later to round out your FP knowledge.
Most enjoyable book I’ve read by far. Simple, intuitive and very detailed, FP Simplified (Scala ed) covers everything you’d ever ask about Functional Programming paradigm. The author guides the reader through concepts in a way the reader will get the point. Then, he names the concept explained how it’s known as.
it change my mind about function programing. the book is right for who come from oop programing. i have read a lot of books about scala but this one make me wrote this comment.
The best book about functional programming i've read so far. It's like Alvin is beside me and do the pair programming together. So many "aha!" moments when reading this book, especially when he explains the concepts using clear and concise code + the quotes of computer scientists and references that make you learn even more than "just" functional programming and Scala.
This is an excellent example of how programming books should be written. The author has taken a rather difficult topic, functional programming, a rather difficult language, scala, and has done magic with it. The author is consistently facing the obstacles and questions raised by these topics, he does his research, and you join his journey from questions raising, research, practicality, tips. The author looks at many topics from multiple directions, in addition to all that he is a great story teller and knows to make complex things clear by decomposing them to clear step by step processes. The author approaches this topic with an admirable modesty. I would even go further to say that this book is an art masterpiece - there are many books about functional programming languages, some of them are rather good, but none that I have seen have taken the angle of, hmm, I wonder why is this functional feature like this, let's do some research, hmm, I think I get it, now let's see how we can work it out and what could be our benefits. When I grab it and read I really feel like i'm reading alice in the wonderlands more than a programming books, the insights, the wonders, and the questions to face and answers are not less than the ones by Lewis Carrol.
I purchased a self-published PDF of this book while the author was still finalizing it, but still wanted to review it here. I had tried to use several other resources to learn FP, but this was finally the on ramp I had been looking for. It's a rare book that caters to intermediate programmers who already know Scala (so there is no time wasted on programming tutorials), but don't understand FP.
This is the best introduction to FP that I have read for people who are coming from an imperative background. Depending on the level of experience certain parts may be superfluous but the ones that are useful for you will more than justify buying the book.