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 authors: 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 Programming: 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 Need:
Familiarity with one or more programming languages.
Michael Swaine has been a technology writer and editor since before the birth of the personal computer. He chronicled that birth in Fire in the Valley, the seminal history of the personal computer, which was selected by Business 2.0 magazine as one of the 100 best business books of all time and is the basis for the movie Pirates of Silicon Valley, which was nominated for five Emmys. He lived close to the flame as one of the founding editors of InfoWorld magazine in the early 1980s, where he daily talked with the programmers and engineers who were inventing the world we live in today.
Many followers of technology know Mike from his long association with the much-loved programmer's magazine Dr. Dobb's Journal, where he served as editor-in-chief, associate publisher, and editor-at-large and authored the decades-spanning columns Programming Paradigms and Swaine's Flames. While serving as editor-at-large he also found time to write for or edit numerous publications in the United States, Germany, and Italy, including the San Francisco Examiner, Upside, Farmer's Almanac, MacUser, UnixReview, Business Software, Southern Exposure (an Oregon lifestyle magazine he co-created), and the Whole Earth Catalog, as well as writing and serving as a model for a comic strip and co-owning a gourmet restaurant, organic farm, and artisan bakery.
Today Mike is the editor of PragPub, a monthly magazine for programmers that he created in 2009, and continues to write and edit books on technology. Also he creates puzzles.