Libros UCLV { BETA }

Gran cantidad de libros a nuestro alcance

Tenemos :
1413 libros,
315857 descargas y
1117 contribuyentes !

Se han encontrado 2 Coincidencias

Functional Programming for Java Developers

Functional Programming for Java Developers


114 Visitas | 147 Descargas | 2015-11-02 15:24:52 | pecarrazana

Welcome to Functional Programming for Java Developers 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 object-oriented 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 re-energized 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 pro- gramming should be done.

Programming Concurrency on the JVM

Programming Concurrency on the JVM


105 Visitas | 142 Descargas | 2015-11-02 15:31:18 | pecarrazana

I’ve written this book for experienced Java programmers who are interested in learning how to manage and make use of concurrency on the JVM, using languages such as Java, Clojure, Groovy, JRuby, and Scala. If you’re new to Java, this book will not help you learn the basics of Java. There are several good books that teach the fundamentals of Java programming, and you should make use of them. If you have fairly good programming experience on the JVM but find yourself needing material that will help further your practical understanding of programming concurrency, this book is for you. If you’re interested only in the solutions directly provided in Java and the JDK—Java threading and the concurrency library—I refer you to two very good books already on the market that focus on that: Brian Goetz’s Java Concurrency in Practice [Goe06] and Doug Lea’s Concurrent Programming in Java [Lea00]. Those two books provide a wealth of information on the Java Memory Model and how to ensure thread safety and consistency. My focus in this book is to help you use, but also move beyond, the solutions provided directly in the JDK to solve some practical concurrency problems. You will learn about some third-party Java libraries that help you work easily with isolated mutability. You will also learn to use libraries that reduce complexity and error by eliminating explicit locks. My goal in this book is to help you learn the set of tools and approaches that are available to you today so you can sensibly decide which one suits you the best to solve your immediate concurrency problems.