|
|
9 of 9 people found the following review helpful:
2.0 out of 5 stars
Ok for the commercial developer; not so good for hobbyists, November 24, 2000
Overall, this is a fair book. I'd have given it two and half stars if I could, feeling that it is an average book. Nonetheless, some things concerned me. Primarily, the book's title should be "Palm Programming using CodeWarrior." The book deals almost exclusively with CodeWarrior (CW), with only an occasional sentence devoted to any other development tool. I can respect the fact that this is probably the case because CodeWarrior is the leading Palm Development environment; nonetheless, the book's singular focus on CW should be duly noted up front. The fact that the CD contains GCC would lead you to believe that the book would also contain information on development using GCC. Well it doesn't. This probably will not be an issue for the hard-core developer who is comfortable with other GNU based compliers or those who like to figure things out on their own. Nonetheless, discussion of GCC would be appreciated by the hobbyist who wants to use a free development environment. (And indecently, GCC is freeware that is downloadable from many web sites including Palm's Developer site at PalmOS.com). The book is clearly aimed at readers with at least a moderate knowledge of C or C++ (or at the very least, some other programming language). This was, in fact, one of the main reasons I purchased this book. I am often annoyed when attempting to expand my horizons, that in order to find what I need, I must sift through books aimed at the true beginner that contain much information that I already know. This is one of the book's strong points. The book is well organized. The subjects flow well, feeding off previous subjects. There are many code listings and the companion CD contains all the source code. Personally, I did not care for some of the code explanations; and new programmers may find them confusing. In addition, little attention was paid to memory management. Since the Palm is a platform in which every byte matters, this is a significant oversight. Furthermore, memory management is probably one of the weakest skills of most programmers today and the cause of many programs locking up or crashing. (Having taught intermediate and advance programming courses, I feel I can make such a statement with some authority) You should be aware, if you plan to purchase this book, of some additional things. 1) This book is based on Palm OS 3.1 and SDK 3.1 (Software Developer's Kit) and CodeWarrior R5. The Palm OS and SDK are currently at version 3.5. There were some significant changes in v3.5 that can dramatically affect a program's compatibility. Release 6 is the most recent CodeWarrior. All the book's examples are based on CW R5; however there are R6 updates available on the author's web site. (Outdated software versions are the bane of any computer book; nonetheless, a reader must be aware of it - caveat emptor.) 2) The version of CW included with this book is CW Lite. (Which can also be downloaded from PalmOS.com) This is a VERY watered down version of CW that does not even allow you to save your work. What concerns me is that nowhere does the books marketing verbiage reference this fact. The front cover states, "The accompanying CD-ROM contains...fully functional development tools." The back cover, under the "On the CD" header lists "CodeWarrior for Palm Computing platform, the development tool of choice..." The inside front cover, which lists the included software, also lists the software as CodeWarrior, not CodeWarrior Lite. Having purchased many programming books, I did not expect a $300 program to be included with a book at this price. However, without reference to this being CW Lite (as do ALL the other Palm programming books that include CW Lite), I half expected something in the order of a 30-day trial version. The end result, if you do not have or purchase the full version of CodeWarrior, it is very difficult to do most of the examples in this book, let alone to start to develop your own programs. You can of course use GCC, but unless you have enough programming experience to "translate" the author's examples, this will quickly become a frustrating process. (CodeWarrior is a window based IDE (Integrated Development Environment) where as GCC is a command line compiler) Personally, I like to teach new programmers using a basic text editor and a command line compiler. It forces them to pay more attention to the work at hand since there are no "shortcuts" or quick-tools to use. It also causes them to have a far better understanding of the code structure and good programming practices. (It's amazing how sloppy and hard to read code can suddenly "become" when it is taken out of a color coded editor and put in a simply fixed font, black & white text editor.) 3) The book only covers Conduit development superficially. This is because Conduit development is a topic in of itself. I respect the author's choice of not pretending to be able to do justice to this topic in a mere chapter. This is in no way a shortcoming of the book; you just need to know this going in. If you are a highly experienced programmer, you will most likely find this an excellent book that gets right to the point. However, if you are a hobbyist or a moderately experienced programmer, I would recommend you look at "Palm OS Programming Bible" by Lonnon R. Foster; it provides a little more information and guidance. (It still, however, is aimed at people with some programming knowledge. But the novice programmer will not feel lost as they may in this book.) In addition, it is based on Palm OS 3.5 and SDK 3.5. I am about ¾ of the way through it, and look forward to doing a review on it shortly.
|