Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

Buy

Why should a Java developer learn about functional programming (FP)? After all, hasn’t functional programming been safely hidden in academia for decades? Isn’t objectoriented programming (OOP) all we really need? This book explains why functional programming has become an important tool for the challenges of our time and how you, a Java developer, can use it to your advantage.

The recent interest in functional programming started as a response to the growing pervasiveness of concurrency as a way of scaling horizontally, through parallelism. Multithreaded programming (see, e.g., [Goetz2006]) is difficult to do well and few developers are good at it. As we’ll see, functional programming offers better strategies for writing robust, concurrent software.

An example of the greater need for horizontal scalability is the growth of massive data sets requiring management and analysis, the so-called big data trend. These are data sets that are too large for traditional database management systems. They require clusters of computers to store and process the data. Today, it’s not just Google, Yahoo!, Facebook, and Twitter who work with big data. Many organizations face this challenge.

Once you learn the benefits of functional programming, you find that it improves all the code you write. When I learned functional programming a few years ago, it reenergized my enthusiasm for programming. I saw new, exciting ways to approach old problems. The rigor of functional programming complemented the design and testing benefits of test-driven development, giving me greater confidence in my work. I learned functional programming using the Scala programming language [Scala] and co-wrote a book on Scala with Alex Payne, called Programming Scala (O’Reilly). Scala is a JVM language, a potential successor to Java, with the goal of bringing object-oriented and functional programming into one coherent whole. Clojure is the other well-known functional language on the JVM. It is a Lisp dialect that minimizes the use of OOP in favor of functional programming. Clojure embodies a powerful vision for how programming should be done.

(HTML tags aren't allowed.)

Developing with Ext GWT: Enterprise RIA Development
Developing with Ext GWT: Enterprise RIA Development
Developing in Ext GWT is a fast–paced, practical guide to quickly learning the tasks necessary in building enterprise–class Rich Internet Applications. Based around the exciting new UI library from Ajax leaders Ext JS and the latest GWT release, this book takes the reader through setup, the available widgets, and advanced...
Backup Exec 9 : For Windows Servers
Backup Exec 9 : For Windows Servers
The authors of this text provide an overview of the world of data protection and familiarize the reader with general backup concepts. Learn different types of backup and strategies, find out how to best protect your data, and much more.

Managing a backup rotation is a woefully underestimated chore that often finds itself delegated to an
...
Deep Sequencing Data Analysis (Methods in Molecular Biology)
Deep Sequencing Data Analysis (Methods in Molecular Biology)

The new genetic revolution is fuelled by Deep Sequencing (or Next Generation Sequencing) apparatuses which, in essence, read billions of nucleotides per reaction. Effectively, when carefully planned, any experimental question which can be translated into reading nucleic acids can be applied.In Deep Sequencing Data...


Grid and Cloud Computing: A Business Perspective on Technology and Applications
Grid and Cloud Computing: A Business Perspective on Technology and Applications

In today’s dynamic business environment, IT departments are under permanent pressure to meet two divergent requirements: to reduce costs and to support business agility with higher flexibility and responsiveness of the IT infrastructure. Grid and Cloud Computing enable a new approach towards IT. They enable increased scalability and more...

Applied SAP BI 7.0 Web Reports: Using BEx Web Analyzer and Web Application Designer
Applied SAP BI 7.0 Web Reports: Using BEx Web Analyzer and Web Application Designer

Deliver SAP BI 7.0 Web Reports

Distribute integrated, accurate, and timely data across your enterprise using the Web-based reporting components in SAP BI. Written by an SAP insider, Applied SAP BI 7.0 Web Reports: Using BEx Web Analyzer and Web Application Designer shows you how to construct effective queries, create...

3G Evolution
3G Evolution
This very up-to-date and practical book, written by engineers working closely in 3GPP, gives insight into the newest technologies and standards adopted by 3GPP, with detailed explanations of the specific solutions chosen and their implementation in HSPA and LTE.

The key technologies presented include multi-carrier transmission,
...
©2019 LearnIT (support@pdfchm.net) - Privacy Policy