<< 1 >>
Rating:  Summary: Egregious Errors Review: This review is based on a cursory first impression of the book C++ Scientific Programming. When I ordered this book I was excited with anticipation of discovering high quality, well-documented code that I could use with little modification in various projects. Unfortunately, as I briefly scanned the first three chapters of the book, I found one particular error immediately that appears consistently throughout the book. The error involves de-allocation of memory allocated with the new[] array operator. Dr. Berryhill consistently uses the plain delete operator instead of the delete[] operator. That is an error resulting in potentially huge memory leaks. Furthermore, it is a very basic error which in my opinion should be caught by the author not the reader five minutes after opening the package in which the book arrived. This error immediately stifled my excitement and I became more skeptical. Further complaints include the lack of templated classes; every numerical class uses a double as the underlying fundamental type. Also, the include files in the source code follow this general format: #include "C:/jcb32/book/source/xxx.h" I want the code to compile in whatever directory I choose to install it in. I don't necessarily want to replicate the directory structure shown above on my hard drive in which the root directory is obviously named after the author.To the book's credit, however, many appealing subjects are covered, and perhaps with the code provided and the book's discussion of the algorithms, a reader could implement his/her own library without the egregious errors. My suggestion would be to first look at libraries such as MTL and Blitz++ which truly use modern C++ programming techniques.
Rating:  Summary: Egregious Errors Review: This review is based on a cursory first impression of the book C++ Scientific Programming. When I ordered this book I was excited with anticipation of discovering high quality, well-documented code that I could use with little modification in various projects. Unfortunately, as I briefly scanned the first three chapters of the book, I found one particular error immediately that appears consistently throughout the book. The error involves de-allocation of memory allocated with the new[] array operator. Dr. Berryhill consistently uses the plain delete operator instead of the delete[] operator. That is an error resulting in potentially huge memory leaks. Furthermore, it is a very basic error which in my opinion should be caught by the author not the reader five minutes after opening the package in which the book arrived. This error immediately stifled my excitement and I became more skeptical. Further complaints include the lack of templated classes; every numerical class uses a double as the underlying fundamental type. Also, the include files in the source code follow this general format: #include "C:/jcb32/book/source/xxx.h" I want the code to compile in whatever directory I choose to install it in. I don't necessarily want to replicate the directory structure shown above on my hard drive in which the root directory is obviously named after the author. To the book's credit, however, many appealing subjects are covered, and perhaps with the code provided and the book's discussion of the algorithms, a reader could implement his/her own library without the egregious errors. My suggestion would be to first look at libraries such as MTL and Blitz++ which truly use modern C++ programming techniques.
<< 1 >>
|