Sort by: Title | Release Date

Cover Image For Functional Programming in Java...

Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions

Get ready to program in a whole new way. Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that’s also a breeze to parallelize. You’ll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You’ll design and write applications better using the new standards in Java 8 and the JDK.

Cover Image For Grails 2: A Quick-Start Guide...

Grails 2: A Quick-Start Guide

Java web development is notoriously tedious, but help is on the way. Grails takes the pain out of web development and brings back the fun. This beginner’s guide gets you up and running with Grails as you construct an original, working application from start to finish. In this new edition, you’ll be building an application entirely with Grails 2, which allows you to take advantage of the new HTML 5 scaffolding, dramatic performance improvements, and enhancements new to Groovy 2.

Cover Image For Programming Groovy 2...

Programming Groovy 2: Dynamic Productivity for the Java Developer

Groovy brings you the best of both worlds: a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java Platform. Groovy preserves the Java semantics and extends the JDK to give you true dynamic language capabilities. Programming Groovy 2 will help you, the experienced Java developer, learn and take advantage of the latest version of this rich dynamic language. You’ll go from the basics of Groovy to the latest advances in the language, including options for type checking, tail-call and memoization optimizations, compile time metaprogramming, and fluent interfaces to create DSLs.

Cover Image For OpenGL ES 2 for Android...

OpenGL ES 2 for Android: A Quick-Start Guide

Android is booming like never before, with millions of devices shipping every day. It’s never been a better time to learn how to create your own 3D games and live wallpaper for Android. You’ll find out all about shaders and the OpenGL pipeline, and discover the power of OpenGL ES 2.0, which is much more feature-rich than its predecessor. If you can program in Java and you have a creative vision that you’d like to share with the world, then this is the book for you.

Cover Image For Deploying with JRuby...

Deploying with JRuby: Deliver Scalable Web Apps using the JVM

Deploy using the JVM’s high performance while building your apps in the language you love. JRuby is a fast, scalable, and powerful JVM language with all the benefits of a traditional Ruby environment. See how to consolidate the many moving parts of an MRI-based Ruby deployment onto a single JVM process. You’ll learn how to port a Rails application to JRuby, get it into production, and keep it running.

Cover Image For Programming Your Home...

Programming Your Home: Automate with Arduino, Android, and Your Computer

Take control of your home! Programmatically interact with indoor and outdoor lighting, remotely monitor and take charge of your home’s security, react to changes in room lighting and temperature by autonomously opening and closing curtains, and much more. Learn how to program Android smartphones and Arduino microcontrollers to remotely manage your home’s environment. Step-by-step instructions tell you all you need to know about how to obtain, build, program, use, and extend these innovative services.

Cover Image For Programming Concurrency on the JVM...

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors

Stop dreading concurrency hassles and start reaping the pure power of modern multicore hardware. Learn how to avoid shared mutable state and how to write safe, elegant, explicit synchronization-free programs in Java or other JVM languages including Clojure, JRuby, Groovy, or Scala.

Cover Image For Seven Languages in Seven Weeks...

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages

You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you’ll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you’ll broaden your perspective of programming by examining these languages side-by-side. You’ll learn something new from each, and best of all, you’ll learn how to learn a language quickly.

Cover Image For Hello, Android...

Hello, Android (3rd edition): Introducing Google's Mobile Development Platform

Google’s Android is shaking up the mobile market in a big way. With Android, you can write programs that run on any compatible cell phone or tablet in the world. It’s a mobile platform you can’t afford not to learn, and this book gets you started. Hello, Android has been updated to Android 2.3.3, with revised code throughout to reflect this updated version. That means that the book is now up-to-date for tablets such as the Kindle Fire. All examples were tested for forwards and backwards compatibility on a variety of devices and versions of Android from 1.5 to 4.0. (Note: the Kindle Fire does not support home screen widgets or wallpaper, so those samples couldn’t be tested on the Fire.)

Cover Image For Programming Scala...

Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine

Scala is an exciting, modern, multi-paradigm language for the JVM. You can use it to write traditional, imperative, object-oriented code. But you can also leverage its higher level of abstraction to take full advantage of modern, multicore systems. Programming Scala will show you how to use this powerful functional programming language to create highly scalable, highly concurrent applications on the Java Platform.

Cover Image For Modular Java...

Modular Java: Creating Flexible Applications with OSGi and Spring

Attack complexity in your Java applications using Modular Java. This pragmatic guide introduces you to OSGi and Spring Dynamic Modules, two of the most compelling frameworks for Java modularization. Driven by real-world examples, this book will equip you with the know-how you need to develop Java applications that are composed of smaller, loosely coupled, highly cohesive modules.


This second reprinting of Modular Java has been revised to include updated information on OSGi Blueprint Services. It also details Pax-Runner’s new profiles feature that makes loading an OSGi runtime with bundles even easier, along with errata fixes and updates to bring the book up to date with current versions of the tools used.

Cover Image For Pragmatic Project Automation...

Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Applications

Pragmatic Project Automation shows you how to improve the consistency and repeatability of your project’s procedures using automation to reduce risk and errors.

Simply put, we’re going to put this thing called a computer to work for you doing the mundane (but important) project stuff. That means you’ll have more time and energy to do the really exciting—and difficult—stuff, like writing quality code.