Getting Into the Java Frame of Mind
For novice and expert alike, guiding the reader to a deep understanding of the Java way.
ORIGINAL DRAFT
Thinking in Java is clearly of work of passion and deep insight. Born of the Internet grass roots approach in a way that parallels Java’s own evolution, this is a book that belongs on every Java programmer’s shelf. The coverage is extensive and, at $39.95 for over 1000 pages, provides considerable value for a relatively small investment. Bruce Eckel’s writing style is fluid and leads the reader through a lucid path across the Java landscape, unfolding clever metaphors that clarify the language in friendly, approachable prose.
Whether you’re a novice or expert Java developer, there’s something for you in this book. The early chapters explore some fundamental concepts that help remind even the expert among us of the basic ideas behind object-oriented programming, good design and the important things to keep in mind during a development effort. From installation in the Introduction chapter to error handling and exceptions in Chapter 9, the building blocks are laid down effectively and important language concepts are expertly unveiled in a systematic sequence of ideas that demonstrate the Java way.
Chapter 10: IO System, addresses practical matters involving file system access and explores the facilities provided in the Java io package. The JavaBeans reflection model is covered in Chapter 11: Run-time Type Identification and Chapter 13: Windows and Applets provides a baseline for developing GUI applications. While it would have been easy to stop at exploring the AWT, Eckel recognizes a need to provide coverage of the JFC and gives a tutorial overview well crafted enough to cover all the basics in only 25 pages.
More advanced topics like Mutithreading and Network programming are covered in chapters 14 and 15. The networking chapter explores web applications, CGI solutions, JDBC and RMI with nice touches along the way that help programmers unfamiliar with hosts, ports, services and other network concepts form a useful view of the Internet’s topology. The coverage is brief and limited but useful and may inspire interested readers to explore this broader topic more aggressively.
Chapter 16: Design Patterns is especially interesting, touching on an important new view of the programming world. The author first draws on the patterns found in the Java API and demonstrates the evolution of a design, capitalizing on a number of additional patterns along the way. The chapter ends with a set of links to additional information about this critical set of modern development ideas.
Thinking in Java lives up to its name. It puts you into a Java frame of mind from the start and encourages you to explore the philosophy behind the language, which can easily become the difference between a casual developer slapping code together and a true artist crafting elegant software with an enduring life ahead. Some of you may well be smirking at this line, but a passion for coding can lead to considerable business advantages and superior best-of-breed software products. Thinking in Java provides a a guiding light that recognizes this distinction and provides instructive insights into the spirit of Java programming.