This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
<pre>Author/s : Grant Palmer Publisher : Prentice Hall Category :Advanced Java Review by : David O'Meara Rating : 6 horseshoes</pre> While reading this book I kept wavering between enjoying the information presented and wondering what it was trying to accomplish. It begins with sections dedicated to people moving from C, C++ and Fortran, but there isn't enough coverage and it doesn't say much more than "Java is not so different". The sections on differential equations, integration and Fourier transformations are useful, but some of the examples get caught up explaining more about the problem than the solution. At times you may be learning more about fluid dynamics than technical programming. There are also short sections on IO, GUIs and web based applications that may be useful as an introduction to the topics in Java, but you would get better coverage of the IO and GUI features in a beginners book. There are plenty of examples of technical problems presented in the book, but I can't see it persuading C or C++ developers to make the move to Java. The book does get the message across that Java is a great choice for building technical programs, but you might be better off with the combination of a beginner Java book for the syntax and a language neutral book for the algorithms. If Java is going to be accepted for building scientific and engineering programs, more technical books need to be written using Java as the reference language. I'm not sure this book counts, but it might be a place to start.
<pre> Review by : Simeon Pinder Rating : 9 horseshoes</pre> This book is not directed at typical java developers but more for scientific programmers predominantly using other languages to write numerical analysis applications. Don't get it twisted though, there's lots of information here for java developers writing numerical analysis code. Many science and engineering programmers think java is too slow and is ill suited for "hard core" numerical analysis. This book is clearly written and dispels many misconceptions concerning java and its math capabilities. For starters, there are transition chapters for traditional numerical analysis programmers from C, C++ and Fortran, which highlight differences to be aware of if you make the switch. Next up are a few chapters on java basics and syntax for the uninitiated, while communicating sound OOP practices. The author makes the switch look a little too easy, but ok. Following was an exciting chapter pitting the innate java math libraries against the big numerical analysis three (C, C++ and Fortran). That was cool. The next eight chapters were worth the purchase off the bat. Complete with clear descriptions, use case examples and implementation code (I'm a big fan!) for numerical analysis techniques involving matrix operations, solving differential equations and Fourier transforms to name a few. The math isn't trivial. As a java developer holding B.S. degrees in Computer Science and Molecular Biology, I have many colleagues who misunderstand java and its capabilities. This book, by a NASA engineer of 18 years, demonstrates how java addresses their analytical needs.