A Modern Approach to Functional Programming
Objects First with Java: A Practical Introduction is an introduction to object-oriented programming for beginners. The main focus of the book is general object-oriented and programming concepts from a software engineering perspective.
The first chapters are written for readers with no programming experience with later chapters being more suitable for advanced or professional programmers. The Java programming language and BlueJ--the Java development environment -- are the two tools used throughout the book. BlueJ's clear visualization of classes and objects means that readers can immediately appreciate the differences between them and gain a much better understanding of the nature of an object than they would from simply reading source code. Unlike traditional textbooks, the chapters are not ordered by language features but by software development concepts.
The Sixth Edition goes beyond just adding the new language constructs of Java 8. The book's exploration of this new language demonstrates a renaissance of functional ideas in modern programming. While functional programming isn't new in principle, it's seen a boost in popularity based on the current computer hardware available and the changing nature of projects programmers wish to tackle. Functional language constructs make it possible to efficiently automate currency, make use of multiple cores without much effort on the side of the programmer, are both more elegant and readable, and offer great potential in solving the issue of parallel hardware. Functional programming has become an essential part of the field, and Objects First with Java gives students a basic understanding of an area they'll need to master in order to succeed in the future.