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.)

The Semantic Web - ISWC 2004: Third International Semantic Web Conference, Hiroshima, Japan, November 7-11, 2004. Proceedings
The Semantic Web - ISWC 2004: Third International Semantic Web Conference, Hiroshima, Japan, November 7-11, 2004. Proceedings
This book constitutes the refereed proceedings of the Third International Semantic Web Conference, ISWC 2004, held in Hiroshima, Japan in November 2004.

The 55 revised full papers presented together with abstracts of 2 invited talks were carefully reviewed and selected from a total of 227 submitted papers. The papers are organized in topical...

Ultrafast Optics (Wiley Series in Pure and Applied Optics)
Ultrafast Optics (Wiley Series in Pure and Applied Optics)
A comprehensive treatment of ultrafast optics

This book fills the need for a thorough and detailed account of ultrafast optics. Written by one of the most preeminent researchers in the field, it sheds new light on technology that has already had a revolutionary impact on precision frequency metrology, high-speed electrical...

Microsoft SQL Server 2005 : Changing the Paradigm (SQL Server 2005 Public Beta Edition)
Microsoft SQL Server 2005 : Changing the Paradigm (SQL Server 2005 Public Beta Edition)

Microsoft SQL Server 2005: Changing the Paradigm (SQL Server 2005 Public Beta Edition) will prepare database administrators for upcoming changes in SQL Server 2005. Obtain the skills necessary to run SQL Server 2005 from the experts at Microsoft Gold Partner. Get a head-start to understanding the...


The Early Mathematical Manuscripts of Leibniz (Dover Books on Mathematics)
The Early Mathematical Manuscripts of Leibniz (Dover Books on Mathematics)
This text features Leibniz's own accounts of his work and comprises critical and historical notes and essays. An informative Introduction leads to the "postscript" to Leibniz's 1703 letter to James Bernoulli, his "Historia et Origio Calculi Differentialis," and manuscripts of the period 1673-77. Essays by C. I....
Computer Organization and Architecture: Designing for Performance (International Edition)
Computer Organization and Architecture: Designing for Performance (International Edition)
William Stallings' book provides comprehensive and completely up-to-date coverage of computer organization and architecture including memory, I/O, and parallel systems. The text covers leading-edge areas, including superscalar design, IA-64 design features, and parallel processor organization trends. It meets students' needs by addressing both the...
Clinical Textbook of Dental Hygiene and Therapy
Clinical Textbook of Dental Hygiene and Therapy

This groundbreaking textbook intertwines the subjects of dental hygiene and dental therapy to provide a comprehensive resource for students of these courses, as well as those studying new degree programmes in oral health science. Clinical Textbook of Dental Hygiene and Therapy has been designed as a dedicated companion text for these...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy