Core Java Volume I - Fundamentals (10e)

Author: Cay S. Horstmann
Publisher: Prentice Hall
Pages:1040
ISBN: 978-0134177304
Print: 0134177304
Kindle: B019PFBM0M
Audience: All Java programmers
Rating: 4.5
Reviewer: Alex Armstrong

 

This tenth edition is a revised and updated incarnation of classic - but this is no reason not to review it.

The first important point is that this is a not a book for the non-programmer. If you program in another language or have "messed about" with Java then this book forms a good and intelligent introduction to the core of the language with some extra bits tagged on.  The latest edition sees the size grow by some 40 pages. 

Banner

It starts with an overview including some history which is now seeming a long way off. It then goes into getting started and using an IDE - Eclipse. The only problem with using Eclipse is that it doesn't have a visual designer for Swing, so the first example of a GUI is constructed in code. Netbeans does have a visual designer and so its use would make things easier for the beginner. The section on building applets is still in the first chapter and this is now looking well overdue for a removal to a later section - it is looking long in the tooth even as a historical reference. The difficulty of getting it to run in a modern browser is getting silly and doesn't put Java into a good light - this is not something a Java beginner needs to be exposed to.. 

The following chapters then deal with the core of the language in a logical order - simple data structures, objects, inheritance, Interfaces and inner classes. By the time you have finished Chapter 6 (around 300 pages) you have covered most of the main features of the language. New in Chapter 6 is the introduction of lambda expressions. Chapter 7 is about exceptions, assertions and logging and it used to be positioned later in the book. The treatment of core topics closes with generics.

From the core language the book moves on to the core user interface. Getting started with Swing, event handling and components provide an introduction to building the UI. Nothing very advanced and no alternatives to Swing are covered. Again this section of the book would arguably be better with the use of NetBeans and a graphical layout editor, but of course some prefer to do things manually. 

After spending a lot of pages on the UI the book moves on the deployment -  JARs and Applets again, which should now be relegated to an appendix. There is a small coverage of Web Start which should be the alternative technology to the applet. 

The final chapter is on concurrency and threads.

The subject matter is fairly standard, but it is important to know that the way it is presented is very good. There is lots of intelligent discussion of the how and why and the author includes lots of comments about where the Java designers and implementers went wrong and removed a useful feature or added one that wasn't necessary. This is a simple and direct approach to telling you about Java - it has few tricks or embellishments and simply gets on with the job. 

 

  

While this is a book only suitable for an existing Java programmer, it is important to keep in mind that it isn't really an advanced book. There are lots of advanced topics - program methodologies for example - that it simply ignores. It also ignores the many Java-based technologies that some advanced programmers consider to be core to their particular use of the language. Remember however that it is Volume 1 of a two-part series, with this book on the Fundamentals and a companion on Advanced Features. And as both are "Core Java", a line has to be drawn somewhere.

If you have the 9th edition about the only topic missing is lambda expressions and given a new version of Java is on the horizon there is no point in buying a new copy. 

If you are looking for a well written account of core Java, simply buy a copy. It is the best of the "big book" introductions to Java. 

Related Reviews

Core Java Volume I Fundamental 9th Ed

Core Java, Volume II Advanced Features 9th Ed

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

 

Banner


Understanding Software Dynamics (Addison-Wesley)

Author: Richard L. Sites
Publisher: Addison-Wesley
Pages: 464
ISBN: 978-0137589739
Print: 0137589735
Kindle: B09H5JB5HC
Audience: Every developers
Rating: 5
Reviewer: Kay Ewbank

This book looks at the different reasons why software runs too slowly, and what developers can do about it, starting by looki [ ... ]



Essential C# 12 (Pearson)

Author: Mark Michaelis
Publisher: Addison-Wesley
Date: December 3, 2023
Pages: 1232
ISBN: 978-0138219512
Print: 0138219516
Kindle: B0CLKY8GNV
Audience: C# developers
Rating: 5
Reviewer: Mike James
The latest edition of a highly recommended book that combines reference and tutorial material.


More Reviews

 

Author:
Publisher: ,2010
Pages:
ISBN:
Aimed at:
Rating:
Pros:
Cons:
Reviewed by:




Banner


Banner


Understanding Software Dynamics (Addison-Wesley)

Author: Richard L. Sites
Publisher: Addison-Wesley
Pages: 464
ISBN: 978-0137589739
Print: 0137589735
Kindle: B09H5JB5HC
Audience: Every developers
Rating: 5
Reviewer: Kay Ewbank

This book looks at the different reasons why software runs too slowly, and what developers can do about it, starting by looki [ ... ]



Essential C# 12 (Pearson)

Author: Mark Michaelis
Publisher: Addison-Wesley
Date: December 3, 2023
Pages: 1232
ISBN: 978-0138219512
Print: 0138219516
Kindle: B0CLKY8GNV
Audience: C# developers
Rating: 5
Reviewer: Mike James
The latest edition of a highly recommended book that combines reference and tutorial material.


More Reviews

http://www.i-programmer.info/news/150-training-a-education/5472--president-obama-says-teach-programming.html
Last Updated ( Tuesday, 30 August 2016 )