Functional Programming, Simplified: (Scala edition) by Alvin Alexander, PDF 1979788782

Functional Programming, Simplified: (Scala edition)

  • Title: Functional Programming, Simplified: (Scala edition)
  • Autor: Alvin Alexander
  • Print Length: 780 pages
  • Publisher (Publication Date):
  • Language: English
  • ISBN-10: | 1979788782
  • ISBN-13: | 978-1979788786
  • File Format: EPUB, PDF

 
“Functional Programming, Simplified (Scala edition),” makes the process of learning functional programming (FP) in Scala as simple as possible by breaking down complex topics into small, bite-size chunks that are easy to understand. The lessons are presented in a logical sequence — the order in which the author learned them — culminating in advanced topics like functional domain modeling, and how to write and use monads.

Some of the book’s lessons include:

– A simple set of rules for functional programming in Scala
– How and why to write pure functions and use immutable variables
– Why function signatures in FP are *much* more important than method signatures in OOP
– How pure functions work with I/O (file, database, and network)
– How to read anonymous functions
– Lessons on recursion, with many images to help explain how it works
– How the concepts of JVM stacks and stack frames work
– Partially-applied functions and currying
– How using Option naturally leads to flatMap, and how flatMap naturally leads to for-comprehensions
– How and why to use case classes and pattern matching
– How to use monads like State and IO
– How to use monad transformers like StateT
– How (and why) to write your own monads
– Domain modeling in functional programming
– How to use “lenses” to update immutable data models
– Concurrency lessons cover Akka actors and Scala futures
– Visual lessons on collections’ methods like fold and reduce
– How to use the ScalaCheck property-testing framework
– How to write and use “type classes”
– Algebraic Data Types (ADTs) are explained

All told, the book contains 120 small chapters. Source code examples from the book are available as a series of Github repositories that you can download and work with.

About the Author

Alvin took the circuitous route to software development. He managed to get a degree in Aerospace Engineering from Texas A&M University, while all he was really trying to do was play baseball. Once he became a practicing engineer, he realized he liked software and programming more than engineering. So in approximate order he taught himself Fortran, C, Unix, network administration, sed, awk, Lisp, Perl, Java, JavaScript, Python, Ruby, JRuby, PHP, and Scala. During this process he started a software consulting firm, grew it to fifteen people, sold it, and moved to Alaska. After returning to the “Lower 48,” he self-published two books (“How I Sold My Business: A Personal Diary”, and “Zen and the Art of Consulting”), and then wrote the “Scala Cookbook” for O’Reilly. He also created alvinalexander.com, which receives millions of page views every year.

Comments:

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. The book is really long, and I mean really long, and i’m only at one third of it, that is good because it means it covers many topics. The author has also split the book into very small chapters so you’ve got tens of them, this is also great, because that means you can drill into a specific topic, in it’s specific chapter. This is another example of a great book design, like SRP principle for book writing, every chapter has it’s own single responsibility, that makes them small, tidy and organised, just like code 🙂 Anyone who find himself struggling with functional programming and with scala should buy the author a big present, I usually don’t buy books, but I felt I have to buy this one even if I could get it for free.


Related posts

Excel 2016: Database and Statistical Features by Dr. Luther M Maddy III, PDF
Linux by D.P. Kothari, PDF 1781830193
Bitcoin: The Definite Guide to the World of Cryptocurrency Business, Engineering, Investing, Mining, Trading and more (currency trading for dummies, mastering bitcoin, bitcoin book) by Richard Brana, PDF 1979159440
Pro Visual Studio Team System with Team Edition for Database Professionals (Expert’s Voice) by Jeff Levinson, PDF 1484220129
Data Science and Social Research: Epistemology, Methods, Technology and Applications (Studies in Classification, Data Analysis, and Knowledge Organization) by Marina Marino, PDF 331955476X
Simulation of MANET using GloMoSim Network Simulator by Kriti Jaiswal, PDF

Leave a Reply

Your email address will not be published. Required fields are marked *