Most Helpful Customer Reviews
28 of 31 people found the following review helpful:
5.0 out of 5 stars
Excellent example snippets; Clear explanations, February 24, 2002
This review is from: Python Web Programming (Paperback)
If you are going to be using Internet protocols, doing network programming, or web programming with Python, and these are new topics for you, I would highly recommend this book. The book starts with a brief overview of the Python language. The author's intention is that someone with a fairly extensive programming background in other languages would be able to pick up enough Python from this overview to be able to do the rest of the programming in the book. Perhaps so. I already know Python, but did find the summary in the front informative. I really like the fact that nearly every page has a code snippet on it. Examples are brief and to the point. The author explains each line of code and has a very direct and clear way of explaining things. I found the explanations easy to read and understand. After the brief Python Language overview, comes an overview of sockets and socket programming. I've been trying to learn a bit about the whole topic of sockets by searching the web and nothing I found on the web explained it as clearly as this book. I now appreciate the difference between TCP and UDP protocols and have an idea of the situations in which I would want to use each. If you want to learn low-level sockets, or how to write your own socket protocols, this is not the book you are looking for. This book basically assumes you will go with either TCP or UDP (and ignores the other types of sockets available in the Python socket library). However, these will probably suit most people's needs. The author then walks you through each of the Internet data-handling libraries in Python, such as the telnetlib, ftplib, poplib, smtplib and so on. He gives examples of working code for each library, showing first how to implement clients, and later on how to implement servers. If you want to work with these libraries, these explanations should be very helpful. Later in the book, Holden addresses using databases in Internet programming, using XML and writing your own web-application framework. I haven't yet had a chance to go through these chapters in detail (I've skimmed them only). But there is a LOT of stuff there. One thing the author does at the beginning of each new section, is give an overview of the topic (such as an overview of why you might want to use a database, how databases work, or why you might want to work with a web framework). For me, I really appreciate this type of overview. It helps give me a context for the new information, and helps me to make better sense of it. I read through some of the database chapters where he explains how the SQL query language works, and again, I have to say it is one of the best explanations I've read. (Most explanations I've read about SQL have just convinced me I wanted to steer clear of it.) Another nice thing, is how he sort of "works you up to" SQL. He starts out with regular Python code, and shows how parts of it are similar to working with an SQL database, and then eventually transitions into the full SQL language. He also addresses database design and efficiency. Overall, I'd say if you want a good overview of the topics mentioned here, want to understand the reasoning behind their use, and want to be able to understand good design and efficiency, then this book should really help you out.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
21 of 23 people found the following review helpful:
3.0 out of 5 stars
Good introductory work curiously lacking in some areas, February 4, 2002
This review is from: Python Web Programming (Paperback)
Though the title makes it appear more limited, this volume "is intended to be a suitable introductory Python book", an all-in-one reference to not only web applications, but also general client-server networking, relational databases, XML, and Internet protocols like POP and NNTP. Though not the best introduction to Python (I would instead recommend O'Reilly's Learning Python) it does a good job of gathering together disparate information and presenting the topics clearly and with well thought-out code. However, this is not a good book on CGI, HTML form handling, templating, and other common web application tasks. Holden chooses as his major example to extend an asynchronous web server into a web application framework. Thus he does not deal with Apache (or any other pre-existing server) and Python integration issues. The coverage of Internet protocols given here is only slightly extended from the standard documentation. IMAP4 gets one paragraph, in which Holden notes its superiority to POP3 but laments the lack of space to cover it! However, non-Python topics like client-server architectures are explained at a nice level for beginners. There is a balance of code and exposition in this book, both presented clearly though in a rather formal tone. The layout is excellent, being very easy to read and pleasing on the eye. The index is great. This book is recommended for inexperienced programmers but lacks enough original work to make it of value to those already coding for the web.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
15 of 16 people found the following review helpful:
5.0 out of 5 stars
A Wonderful Book, A Great Resource!, January 27, 2002
This review is from: Python Web Programming (Paperback)
Python Web Programming by Steve Holden with David Beazley; New Riders, 2002, 691 pages. Python Web Programming is a great resource for web programmers. I have found not found this much information, on all aspects of web programming with Python, in any other book. It is extremely well written and a joy to read. The book first gives an overview of the Python language. This overview is well worth reading, even if you are already a Python expert. Steve Holden has a unique and interesting perspective on the matters at hand, and he gives very detailed expositions on the whys and wherefores behind various Pythonic idioms. I found that this section gave me a different point of view and a deeper understanding of several aspects of Python's design and structure than I had previously realized. Next, in a very rich and informative section, over 100 pages are devoted to Network Programming in Python. After giving a very clear and detailed overview of basic network programming basics, the author shows how the Python libraries can be used to do meaningful client side and then server side web programming. I am sure that I will come back often to this section as I further explore CGI programming and also server side programming. The book gives good instructions on how to practice server side programming even if you only have a simple web connection. This section is really valuable. Database Programming in Python then receives over 100 pages of work. I am weak in this area, but the explanations in this section gave me a good enough background to better understand the database parts of later web programming topics. Next, almost 100 pages are devoted to XML and Python, including SAX. This section is also well written and the explanations were enough for me to again comprehend the following web programming topics whenever XML came into play. Finally, the book covers some home brewed, integrated web applications. AWeFUL, an object oriented web site framework, and PythonTeach, a web application for use in academica, are two straight forward programs very well understood by Steve Holden and are beautifully explained. This book is worthwhile to anyone with an interest in CGI, server-side programming, or just web programming using Python in general. Really, I think that anyone "into" Python will thoroughly enjoy this book, and will learn a lot. The database and XML sections are like icing on the cake. I believe the book is aimed at folks experienced with Python, but the explanations are detailed and clear enough for even those who are not "experts". I highly recommend this book.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|