|
Clinton Wong
Reviewed by Carolyn Sienkiewicz "Web client programming? Why would you do that?" This was the first impression I experienced of this book, because these were the first words uttered by an esteemed colleague (a software developer) upon seeing me (a system administrator) looking at the cover of this book. I indicated a phrase at the top of the book's cover and replied, "Well, apparently you might want to automate tasks on the Web." Web client programming wasn't an activity that had ever occurred to either my colleague or me. Neither of us is infatuated with the Web, and neither of us views the Web as much more than a resource for information or a potential application interface in our daily computer work. First, the good news. This book explores automating Web tasks using Perl and the Tk extension to Perl. One example of a Web task that you might want to automate could be checking the validity of the links in a Web site that you maintain. I found this to be an entertaining thought to play with, and you might, too. The author starts out by explaining what goes on behind the scenes when you use a Web browser. This material outlines the conversation that occurs between the Web server and the browser. Next he explains the structure of an HTTP transaction, along with the various client request methods, HTTP headers, and server response codes. All of this material is extremely elementary. The meat of the book comes in the remaining chapters, which cover use of the socket library for Perl, the LWP library (the library modules for WWW access in Perl), and then plenty of example code in the form of client programs (primarily LWP based, and then graphical examples with Perl/Tk). If you are a sophisticated, full-time Web administrator coming from a system administrator background and have done any Web client programming, then this book is going to be way too basic for you. The example programs do very simple things: check on your FedEx package delivery, check if servers are up, create a dictionary client. If you haven't had the opportunity or need to do Web client programming, you'd probably have fun with this and may wish to check it out. An audience that could potentially gain from this book would be nontechnical or neophyte Web administrators. Other audiences best suited to benefit from this work would include, to quote the author, "computer enthusiasts, tinkerers, and motivated students." Now for the bad news. Having tried to point out the positive attributes of the book, I really would not encourage ;login: readers to get it. The primary reason is that the author tends to gloss over and simplify things to the point that his explanations lose clarity and precision and can be misleading or confusing. As an example, when he dives into what he always refers to as "the socket library" in chapter 3, he never points out that this is a socket package that is a part of Perl. I immediately thought, "Is he saying that this is a system library?" After all, at this point in the text, no Perl code has appeared yet, and no real mention of Perl has occurred. Additionally, the socket calls bear a strong resemblance to, but are not identical to, the system socket calls. I kept wanting to write "Perl" in front of every instance of the phrase "socket library" to make the language more precise. This might seem like a petty example, but unfortunately, this type of glossing over of details is so prevalent throughout the book to be annoying. I think I can understand authors wanting to leave some level of detail out of their books. This is often done in an attempt to appeal to a broader audience. However, in this case, I think the omissions can be harmful. After all, the book does state the author expects you to have a solid knowledge of Perl. If you know Perl, I am quite sure you can handle much more precision and accuracy of detail than this work provides. Unfortunately, those who may be less knowledgeable are likely to ingest imprecise information, gain imprecise or erroneous understanding, and then have to unlearn it later.
|
|
First posted: 21st November 1997 efc Last changed: 21st November 1997 efc |
|