Positives This book is generally praised for being an easy-to-read and understandable introduction to programming, particularly in Java. Many reviewers found it to be a good foundation for beginners or a useful refresher for those with some prior knowledge. Its projects are noted as interesting, and some found it particularly helpful for initial programming courses. The book is also considered a concise and complete reference for more experienced programmers, especially if they are already familiar with the author's previous works, as it shares a similar template and design.
Negatives Despite its strengths, several criticisms are raised regarding the book's content and presentation. Some readers found it to be excessively wordy and difficult for a beginner to fully grasp. A significant point of contention is the author's extensive use of literary quotes, which some reviewers found distracting and out of proportion for a technical textbook, questioning if it leans more towards literature than programming. Concerns were also voiced about the book's accuracy, with one review stating it contains actively incorrect explanations of topics. Its organization is another area of critique, with some chapters deemed incomplete or misplaced, such as the File IO chapter and the positioning of UML and Patterns. Additionally, the book is noted for being unnecessarily brief on crucial topics while expanding on less important ones, and its code style, specifically brace placement, deviates from standard Java practices.
Conclusion In conclusion, this book presents a mixed experience for its readers. While it can serve as a decent introductory text or a quick reference for those with some programming background, especially if they appreciate a distinct writing style, it may not be the most effective choice for absolute beginners seeking comprehensive, hand-holding guidance due to its wordiness, organizational quirks, and potential inaccuracies. Readers who benefit most are likely those looking for a basic overview, a refresher, or a supplementary resource, particularly if they are already accustomed to the author's pedagogical approach from other books. However, those requiring a strictly technical, clear, and conventionally structured learning experience might find better alternatives available.