Explore functional programming and discover new ways of thinking about code. You know you need to master functional programming, but learning one functional language is only the start. In this book, through articles drawn from PragPub magazine and articles written specifically for this book, you'll explore functional thinking and functional style and idioms across languages. Led by expert guides, you'll discover the distinct strengths and approaches of Clojure, Elixir, Haskell, Scala, and Swift and learn which best suits your needs. Contributing Rich Hickey, Stuart Halloway, Aaron Bedra, Michael Bevilacqua-Linn, Venkat Subramaniam, Paul Callaghan, Jose Valim, Dave Thomas, Natasha Murashev, Tony Hillerson, Josh Chisholm, and Bruce Tate. Functional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody's invented the perfect functional language - each has its unique strengths. In Functional A PragPub Anthology , you'll investigate the philosophies, tools, and idioms of five different functional programming languages. See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional programming is becoming more elegant and friendly with Elixir, a new functional language built on the powerful Erlang base.The industry has been embracing functional programming more and more, driven by the need for concurrency and parallelism. This collection of articles will lead you to mastering the functional approach to problem solving. So put on your explorer's hat and prepare to be surprised. The goal of exploration is always discovery. What You Familiarity with one or more programming languages.
This book could be much better if it was structured as a whole, not as a series of articles - some things are repeated in chapters about Swift (also some are outdated). I think that it could use some more theory of functional programming concepts, in exchange of another Swift chapter (for instance). Even though I didn't learn much (partially because I already know Elixir & Swift), it encouraged me to explore Haskell & Clojure/Lisp further, so in the end it was worth reading
Some interesting articles in this book (it’s really more a collection of articles than a book) but they’re all over the place. I guess this is to be expected with so many authors contributing, but I don’t think it made for a great read. Also, I stumbled on quite a few typos and grammatical errors throughout the book.
For me the most interesting parts were about Swift, because this is a very popular language I knew very little about in advance. I now feel that I have a lot more insight about the good and bad parts of it. And the functional perspective on it was exactly what I wanted.
I’ve never liked Scala and I still don’t, so the book didn’t really affect my opinion there. I was just reminded about many of the reasons I don’t like it.
I did enjoy some of the Haskell material. Mostly because it was about the value of having a good type system rather than about the language itself.
In conclusion, I found this to be a decent book, but I wouldn’t recommend it over a carefully selected list of blog posts about the languages covered here.
Esta es una colección de artÃculos relacionados con la programación funcional y cinco lenguajes en los que puedes hacer programación funcional a diferentes niveles, pero todos tienen las ideas principales: inmutabilidad y trato de funciones como ciudadanos de primer mundo.
Sin embargo, si quieres explorar y aprender de diferentes temas relacionados todos por la programación funcional y todas las cosas que tienen que ver con esta, lo recomiendo mucho, pero creo que una lectura práctica (en donde haces o copias todo el código) serÃa mucho mejor.
Definitely enjoyable, but the style of the articles is all over the map; even those of similar styles are quite different. I think the book missed in the intro to demonstrate the constructive nature of functional programming: comparing a manual Java program to a built-in function call in Clojure is hardly a meaningful tell of functional programming’s mindset. Still, an interesting walk over the landscapes of a few different languages, even if sometimes the borders were a bit more rocky than one might expect.