Produktbeschreibungen

Pressestimmen

""This book is an absolute gem and should be required reading for anybody looking to transition from OO to FP. It is an extremely well-built safety rope for those crossing the bridge between two very different worlds. Consider this mandatory reading.""--Colin Yates, technical team leader QFI Consulting, LLP""This book sticks to the meat and potatoes of what functional programming can do for the object-oriented JVM programmer. The functional patterns are sectioned in the back of the book separate from the functional replacements of the object-oriented patterns, making the book handy reference material. As a Scala programmer, I even picked up some new tricks along the read.""--Justin James, developer, Full Stack Apps""This book is good for those who have dabbled a bit in Clojure or Scala but are not really comfortable with it; the ideal audience is seasoned OO programmers looking to adopt a functional style, as it gives those programmers a guide for transitioning away from the patterns they are comfortable with.""--Rod Hilton, Java developer and PhD candidate at the University of Colorado

Kurzbeschreibung

Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs.

Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you'll gain a broad understanding of functional programming.

For each pattern, you'll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you'll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you'll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion.

Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you'll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.

I like the approach of this book in that it uses a simple web server as its primary example. I find this very meaningful for my work, as much of my work has a networking component. I also like how it starts off with an imperative piece of code that is very similar to the way I, as an imperative programmer of many years, might have done it myself. The authors then take the problem apart from a functional perspective.

I think it is very important to avoid leading readers using only examples which are easily handled with a functional approach. This book achieves this with challenging material. I was surprised that I could not simply read the book and gain a rapid understanding, but had to go and really do the exercises with the author. I am told by a number of experts that this is typical for imperative-minded programmers. But I really want to learn functional programming, so I'm glad I purchased this book!

7 von 8 Kunden fanden die folgende Rezension hilfreich

2.0 von 5 SternenNot worth the price23. Mai 2014

Von Zach Klippenstein - Veröffentlicht auf Amazon.com

Format:Kindle Edition|Verifizierter Kauf

Can't believe I paid almost $20 for this. The explanations are repetitive and written in a very boring prose. The code examples are hugely oversimplified, and are neither practical nor interesting. Anyone with a half-decent understanding of these patterns could have thought them up, and most could probably do better. The Scala code is often not idiomatic (e.g. using Vectors instead of lists, constructed without the :: constructor). I can't speak for the Clojure, I'm not as familiar with the language.

For one of the more interesting patterns, Memoization, after showing a completely naïve Scala implementation that ignores generics doesn't even try to demonstrate how to correctly use the type system, and instead just hard-codes the specific types being used in the example, I was really curious about what the Clojure code would look like. Instead, he just says there's a standard function to do it. I'm glad it was mentioned, but I would expect a $20 book would at least compare implementations.

I've read blogs that are more in-depth, better-written, and have more useful code examples than this drivel. Don't buy.

This is not functional programming book. This book is written for developers that be used to object-oriented programming and interested in functional programming. The first half is rewriting object-oriented design pattern by functional idioms but it's not functional style programming. The last half is about functional programming techniques(i.e. tail recursion, lazy sequence). If you want to learn functional style programming, I couldn't recommend it. You should read another great books like "Scala for the impatient", "Functional programming in scala", "The Joy of Clojure" and so on.

I found this book really helpful. Especially when trying to understand more about the many ways I could use functional programming to solve many day-to-day problems. Functional patterns really make OO patterns look trivial and code-wasting. This book actually shows you the code, and makes you get why declarative and functional is the way to go.

You won't regret it, it's worth much more than I payed for.

3 von 4 Kunden fanden die folgende Rezension hilfreich

5.0 von 5 SternenMust have read for the aspiring functional programmer on the JVM!!27. Dezember 2013

Von J T - Veröffentlicht auf Amazon.com

Format:Taschenbuch

This book provides functional replacements for all of Java's Object Oriented patterns we love/hate. All of the patterns are accounted for: Strategy, Iterator, Command, Dependency Injection (sigh), etc. I wish this book existed when I took my first steps toward learning Scala. A must have reference guide for the functional programmer on the JVM.