November 13, 2013
Absolutely nothing interesting happened on this day in history. Yet. This is your chance to change that!
Now's your chance to understand functional programming with Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM, now in print and shipping from pragprog.com/book/mbfpp.
Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM
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.
On the book's home page (on the Details tab), check out a Q&A with Michael Bevilacqua-Linn and 5 tips for when you dive into the functional programming world.
Now in print and shipping from pragprog.com/book/mbfpp.
Backbone.js has become a popular library for developing modern web applications as their complexity and size increase. With Marionette.js, boilerplate code is handled by the library, letting you focus on your application's specifics. You'll discover Marionette components, along with when and why to use them. After you've made it through the book, you'll be comfortable writing a Marionette application on your own.
Exercises covering the basic concepts are included (with solutions), so you can check for yourself if you've properly understood the functionality that was covered in a given chapter.
You'll learn how to build an application (demo online at davidsulc) step by step, including:
- Structuring your large apps with modules to manage complexity
- Using regions and layouts to segment your displays and make them manageable
- Managing forms, along with error display
- Handling data latency and displaying loading views
- Filtering collections and updating views, matching URL fragments to filtering criteria
- Extending the Marionette framework to clean up your code and make your life easier
- Using mixins to add common functionality to objects
- Defining your own view classes to extend from, sharing common behavior
- Implementing Backbone routing properly
- Swapping sub-applications
- Managing menu entries with non-persisted models
And much more! All of this is covered step by step so you fully understand how and why code is being added, removed, or refactored.
This book was written and produced entirely by the author. We are proud to be distributing it.
Now available from pragprog.com/book/dsbackm.
Did You Know?
You can synch your ebooks amongst your devices via Dropbox, including updates! Just login to your account on pragprog.com, edit your profile, and connect your dropbox account. See our FAQ for details.
Upcoming Author Appearances
Don't Get Left Out
Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on pragprog.com (email address and password is all it takes) and select the checkbox to receive newsletters.
Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:
- Developing Android on Android: Automate Your Device with Scripts and Tasks
- The Dream Team Nightmare
- Crafting Rails 4 Applications: Expert Practices for Everyday Rails Development
- Build Awesome Command-Line Applications in Ruby, 2nd Ed.
- Create Mobile Games with Corona: Build with Lua on iOS and Android
- HTML5 and CSS3: Level Up with Today’s Web Technologies
- Modern C++ Programming with Test-Driven Development
- 3D Game Programming for Kids
- iPad and iPhone Kung Fu
Thanks for your continued support,
Andy & Dave
The Pragmatic Programmers
Books • eBooks • PragPub Magazine • Audiobooks and Screencasts