Code quality

Code quality : the open source perspective / Diomidis Spinellis, Addison-Wesley, 2006

Here is an excellent book for Java and C++ programmers. It is the sequel to ‘Code Reading’. 500 pages. “It’s a very dense book, with something to think about in every sentence. If you carefully absorb everything it has to say and manage to implement it, you will be a programming wizard.” — Elizabeth Zwicky

Java : how to program

Java : how to program / Paul Deitel, Harvey Deitel, Pearson Prentice Hall, 2010

“A comprehensive introduction to programming in Java that covers all major areas of the platform. To me, the best way to understand programming is by example, and this book contains copious, well-described sample code.” – Simon Ritter, Sun Microsystems

The typesetting and print quality is excellent. The code is easier to read due to the use of colour, with literals in blue, comments in green, highlighting in yellow. It is a heavy book, at 1500 pages. The CD contains Sun’s JDK, MySQL, NetBeans, and Eclipse.

Java Web services : up and running

Java Web services : up and running / Martin Kalin, O’Reilly, 2009

“This quick, practical, and thorough introduction to Java web services — the JAX-WS and JAX-RS APIs — offers a mix of architectural overview, complete working code examples, and short yet precise instructions for compiling, deploying, and executing a sample application. You’ll not only learn how to write web services from scratch, but also how to integrate existing services into your Java applications. ” — from O’Reilly site.

Professional multicore programming

Professional multicore programming : design and implementation for C++ developers / Cameron Hughes, Tracey Hughes, Wiley, 2008

Concurrent programming has become important for a greater proportion of all programmers since commodity PC’s went multicore. Good books on this have been in OPL for years (click on the 5-star tag to see some of them).  This book is useful because it gathers all the important topics into one place.  It starts with a good introduction, then outlines machine architecture for Intel, AMD, Sparc and Cell. Then it gets into programming structure for thread synchronization, with code examples in C++.  It has good reference information on Posix threads (pthreads).  It is intended for C++ programmers, but Java programmers will gain from reading it too. It is not the most readable book in the library.