Functional Programming : A PragPub Anthology
Exploring Clojure, Elixir, Haskell, Scala, and Swift
Paperback Engels 2017 1e druk 9781680502336Samenvatting
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.
Specificaties
Lezersrecensies
Inhoudsopgave
Acknowledgments
Part 1: The functional paradigm
1. Functional programming is big again
2. Functional thinking for the imperative mind
Part 2: Scala: A hybrid language
3. Scala and functional style
4. Working with Scala collections
5. Creating higher-order functions in Scala
Part 3: Clojure: The new lisp
6. An interview with Rick Hickey
7. Getting Clojure: Why Lisp still matters
8. Identity, value, and state in Clojure
9. Concurrent programming in Clojure
Part 4: Elixer: Making programming fun again
10. Patterns an transformations in Elixer
11. Getting functional with Elixer
12. Getting parallel with Elixer
Part 5: Haskell: The researcher’s playground
13. Functional thinking and Haskell
14. Haskell hands-on
Part 6: Swift: Functional programming for mobile apps
16 Functional thinking in Swift
Part 7: Going deeper
17. Protocols in Swift vs. Ruby and Elixer
18. Pattern matching in Scala
19. Concurrency in Scala
20. Clojure’s exceptional handling of exceptions
21. A Testing framework for Elixer
22. Building test data with Elixer
23. Haskell’s type system
24. A Haskell project: Testing native code
25. The many faces of Swift functions
26. A Functional approach to Lua
A1: Meet the authors
Bibliography
Index
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan