Showing posts with label python programming. Show all posts
Showing posts with label python programming. Show all posts

Python 3 Web Development Beginner's Guide Review

Python 3 Web Development Beginner's Guide
Average Reviews:

(More customer reviews)
Are you looking to buy Python 3 Web Development Beginner's Guide? Here is the right place to find the great deals. we can offer discounts of up to 90% on Python 3 Web Development Beginner's Guide. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Python 3 Web Development Beginner's Guide ReviewPackt Publishing asked me to review "Python 3 Web Development Beginner's Guide" ([...]). I'll have to admit, it's a bit of an odd duck. A better (albeit overly verbose) title might have been "An Introduction to Rich Internet Application Development Using jQuery UI, a Very Modern Version of Python, a Relatively Old Python Web Application Framework Named CherryPy, and an Ancient Version of HTML Written by a Guy Who Uses Windows".
The first tipoff that this book was a bit strange was that the author uses Windows and some combination of Firefox and IE. It seems like most web developers use OS X (or occasionally Linux), and they prefer Chrome over IE.
The next tipoff was the use of jQuery UI. jQuery UI is a very modern technology which is often used to build rich internet applications. RIAs really aren't the sort of thing that I would expect to see in a book for beginners. What happened to the old days when beginning web applications focused on the server dynamically generating HTML? If I took the time to count the number of lines of code, I wouldn't be surprised if this book had more JavaScript than Python.
The title of this book mentions Python 3, but if you search for "Python 3" in the book, there are extremely few mentions of it. This book really isn't about Python 3 per se (as compared to Python 2); it has a lot more to do with jQuery UI.
Whereas Python 3 and jQuery UI are very modern technologies, standing in contrast is the book's use of HTML 4 and CherryPy. HTML 4 is an *ancient* version of HTML. I would expect anyone using jQuery UI to use either XHTML or HTML5. At the very least, I would have expected one of the transitional DTDs. Similarly, he uses CherryPy. Although I agree that CherryPy is solid code, it's also fairly old. It predates any of the modern Python frameworks.
This book claims to teach web development "without having to learn another web framework" [p. 1]. That's simply not true. It makes heavy use of CherryPy. The home page for CherryPy ([...]) calls it an "HTTP framework" and says that it has "everything you would expect from a decent web framework." It's not as full-featured as, say, Django, but parts in the example code such as "@cherrypy.expose" [p. 36] are certainly framework features. In fact, "@cherrypy.expose" is part of CherryPy's object publishing system, which it uses as a replacement for regex-based URL routing.
Another thing that's a bit strange about this book is that the author doesn't use a client-side or a server-side templating language. In JavaScript, he tends to use string concatenation, which is weird because there is a templating pluging for jQuery. On the server, he embeds HTML directly in the Python code, which is pretty ugly (as he mentions on p. 229).
Furthermore, the code is extremely sloppy. The code does not follow Python's style guide concerning whitespace (PEP-8) (see for example p. 145) even though PEP-8 is extremely standard in the Python community. Nor is it even self consistent. I don't know of anyone who puts a space before the colon in expressions such as "if not isinstance(name,str) :" [p. 146]. The indentation in the JavaScript is not only non-standard and inconsistent, it's occasionally completely wrong [p. 118] (i.e. the indentation disagrees with the braces).
Aside from bad style, I'm a little concerned about various coding practices. For instance, the JavaScript at the bottom of p. 40 has variables that don't use var. This means they're effectively global. This is extremely bad practice. Fortunately, he does use var in other places in the book.
On the subject of security, there are several standard security vulnerabilities that web applications must protect against: XSS (cross-site scripting vulnerabilities), SQL injection attacks, XSRF (cross-site request forgeries), and session fixation (or session hijacking) attacks. Every book on web development should cover these.
The book mentions XSS, but I fear it's approach may not be thorough enough. It does not mention the term "SQL injection" attack, but the ORM shown in the book does look to be somewhat safe. It mentions XSRF, but says that it's out of scope. It doesn't mention "session fixation" or "session hijacking". In general, I don't think the book is good enough about "escaping things" properly. For instance, on p. 293 the author creates a URL in JavaScript using values from a form, but he doesn't take care to URL encode the parameters.
Despite all of the above, I can say this about the book. The author does a good job explaining the web to beginners. Modern web applications are fairly complicated beasts. There's the client, the web server, and the database server, and they each require their own syntaxes. The author does a decent job explaining what runs where. It can be difficult for an expert web developer, such as myself, to remember that newbies might not know all these things.
In summary, will this book help you become a competent, professional web developer? Absolutely not. Is it as well written as, say, "Agile Web Development with Rails" ([...]). No. However, might it be a good way for a beginner to dip his toes in web development with Python and jQuery UI? Maybe.
(Disclaimers: Packt gave me a free electronic copy of this book in trade for my review. I have not read the whole thing. I did read the first 50 pages and skimmed various key sections.)Python 3 Web Development Beginner's Guide OverviewPart of Packt's Beginner's Guide Series, this book follows a sample application, with lots of screenshots, to help you get to grips with the techniques as quickly as possible. Moderately experienced Python programmers who want to learn how to create fairly complex, database-driven, cross browser compatible web apps that are maintainable and look good will find this book of most use. All key technologies except for Python 3 are explained in detail.

Want to learn more information about Python 3 Web Development Beginner's Guide?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Programming Python Review

Programming Python
Average Reviews:

(More customer reviews)
Are you looking to buy Programming Python? Here is the right place to find the great deals. we can offer discounts of up to 90% on Programming Python. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Programming Python ReviewWow. I have mixed feelings about this book. On the one hand, it's enormous. It took me almost a year to go through the whole thing, although I did stop and work through every single example. On the other hand, like "Learning Python", there are a lot of sidetracks that seem targeted at beginners which I felt could have easily been left out.
This book should be considered volume 2 of "Learning Python". "Learning Python" (or "volume 1") covers the core Python language in quite a bit of detail, but doesn't talk much about the library. "Programming Python", in turn, covers the Python library, but doesn't talk about the syntax of the language (you're expected to know all that already).
Even with 1500 pages, it would be impossible to do justice to the _entire_ Python library, so a useful subset is covered. The book is actually divided into seven subsections, and sections 2 (System Programming), 3 (GUI Programming), 4 (Internet Programming), and 5 (Tools and techniques) could each have legitimately been a book in their own right. Part 6 (Integration) was a bit weak compared to the others - it covered only two chapters, and was the only section of the book that included incomplete examples. Of course, Parts 1 & 7 were an introduction and an epilogue.
In terms of the Python standard library, "String Services", "File and Directory Access", "Data Persistence", "Generic Operating System Services", "Interprocess Communcation and Networking", "Internet Protocols and Support", and "Graphical User Interfaces" were covered indepth. "Internet Data Handling" and "Structured Markup Tools" were both touched on, but not really examined. Other Python-related topics such as Jython, Zope, ZODB and SWIG were discussed as well, along with examples.
The main strength of this book was its examples. I prefer to manually type each source example and run them, rather than downloading them from a web site - although it takes longer to work through the book that way, I end up retaining quite a bit more. For that reason, I'm frustrated by programming books that include incomplete examples (or at least not enough that I can reasonably fill in the blanks). Fortunately, this wasn't such a book - until the very last chapter, all of the examples were complete, although quite a few of them build on previous examples (sometimes a bit pointlessly, such as his GUIMixin "framework"). Chapter 15, for example, is pretty much nothing but a listing of a complete, working e-mail GUI client - I was actually able to use this to check my own e-mail (POP only... but still!)
Section 3 on GUI programming is the best coverage on TKinter available anywhere. This section alone is worth the price of the book, if you're ever going to touch TKinter. He doesn't cover Tix, unfortunately, but I believe that every single TKinter widget is discussed and demonstrated in example code. PMW and wxPython are mentioned, but just as in, "they exist" - this books perspective on GUI programming is TKinter only. Still, that's plenty to fill up 5 chapters.
This _is_ a good, useful, book - I got a lot more out of this than I got out of "Learning Python", but it can be a bit meandering at times - for its volume, I expected it to cover a lot more ground, although what the author does decide to cover, he covers in exquisite detail, including historical perspectives, real-world "war stories" and workable examples.Programming Python Overview
Already the industry standard for Python users, Programming Python from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of changes introduced by the latest version of the language, Python 2.5.

Whether you're a novice or an advanced practitioner, you'll find this refreshed book more than lives up to its reputation. Programming Python, 3rd Edition, teaches you the right way to code. It explains Python language syntax and programming techniques in a clear and concise manner, with numerous examples that illustrate both correct usage and common idioms. By reading this comprehensive guide, you'll learn how to apply Python in real-world problem domains such as:

GUI programming
Internet scripting
Parallel processing
Database management
Networked applications

Programming Python, Third Edition covers each of these target domains gradually, beginning with in-depth discussions of core concepts and then progressing toward complete programs. Large examples do appear, but only after you've learned enough to understand their techniques and code.

Along the way, you'll also learn how to use the Python language in realistically scaled programs--concepts such as Object-Oriented Programming (OOP) and code reuse are recurring side themes throughout this text. If you're interested in Python programming, then this O'Reilly classic needs to be within arm's reach. The wealth of practical advice, snippets of code, and patterns of program design can all be put into use on a daily basis--making your life easier and more productive.

Reviews of the second edition:

"...about as comprehensive as any book can be." --Dr. Dobb's Journal

"If the language had manuals, they would undoubtedly be the texts from O'Reilly...'Learning Python' and 'Programming Python' are definitive treatments." --SD Times


Want to learn more information about Programming Python?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Python For Dummies Review

Python For Dummies
Average Reviews:

(More customer reviews)
Are you looking to buy Python For Dummies? Here is the right place to find the great deals. we can offer discounts of up to 90% on Python For Dummies. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Python For Dummies ReviewI agree with some of the reviewers here, it is definitely disappointing to see a bad seed among the good "... for dummies" series. I have previous experience with programming languages, although this is not my everyday task. I got interested in Python and wanted the book to guide me through the basics. After reading the first 7-8 chapters I started asking myself whether I missed something in the previous ones, as I lost track (and interest) in the book.
I found the examples parsed in the chapters rather useless, and not practical. Since, I have found several useful on-line tutorials on www.python.org, where the user is taken through the chapters in a gradual, progressive way. The examples and exercises in a beginner's book should be based on what is learned in the previous chapters, giving the reader the idea that what is learned is put in practice, thus easily assimilated.
I don't recommend this book for a complete novice, as she/he will lose interest in Python programming very easily! This book has the advantage of presenting the main and most important features of the Python programming language, but it sues a more advanced audience.
The low rating is indeed due to the non adequacy of the book for beginners and for not following the good standards of the "...for dummies" successful series.
SachaPython For Dummies OverviewPython is one of the most powerful, easy-to-read programming languages around, but it does have its limitations. This general purpose, high-level language that can be extended and embedded is a smart option for many programming problems, but a poor solution to others.
Python For Dummies is the quick-and-easy guide to getting the most out of this robust program. This hands-on book will show you everything you need to know about building programs, debugging code, and simplifying development, as well as defining what actions it can perform. You'll wrap yourself around all of its advanced features and become an expert Python user in no time. This guide gives you the tools you need to:
Master basic elements and syntax
Document, design, and debug programs
Work with strings like a pro
Direct a program with control structures
Integrate integers, complex numbers, and modules
Build lists, stacks, and queues
Create an organized dictionary
Handle functions, data, and namespace
Construct applications with modules and packages
Call, create, extend, and override classes
Access the Internet to enhance your library
Understand the new features of Python 2.5

Packed with critical idioms and great resources to maximize your productivity, Python For Dummies is the ultimate one-stop information guide. In a matter of minutes you'll be familiar with Python's building blocks, strings, dictionaries, and sets; and be on your way to writing the program that you've dreamed about!

Want to learn more information about Python For Dummies?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Learning Python: Powerful Object-Oriented Programming Review

Learning Python: Powerful Object-Oriented Programming
Average Reviews:

(More customer reviews)
Are you looking to buy Learning Python: Powerful Object-Oriented Programming? Here is the right place to find the great deals. we can offer discounts of up to 90% on Learning Python: Powerful Object-Oriented Programming. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Learning Python: Powerful Object-Oriented Programming ReviewThis book will teach you Python if you have a lot of patience and are willing to wade through many pages of text to get information. The author wastes a lot of ink stating things like "I'll introduce you to topic XYZ, but you will have to wait until a later chapter to go into detail." Or introducing a topic and then declaring it is outside the books (1216 page) scope. Here's an example from page 85:
"Text pattern matching is an advanced tool outside this book's scope, but readers with backgrounds in other scripting languages may be interested to know that to do pattern matching in Python, we import a module called re."
Pattern matching is a critical feature of any scripting language. I was surprised to see such an important topic thrown away.
The book is divided into sections. I've put page counts and a summary description of the content to further describe the glacial pace of the book:
Part 1: Getting Stared: Pages 1- 72
72 pages to tell you how to run a Python program.
Part 2: Types and Operations 73-258
186 pages to introduce Python types (strings, numbers, sequences, etc)
Page 3: Statements and Syntax - 259-392
If statements are not introduced until Part3.
At this point I gave up and started reading the online tutorial.Learning Python: Powerful Object-Oriented Programming Overview
Google and YouTube use Python because it's highly adaptable, easy to maintain, and allows for rapid development. If you want to write high-quality, efficient code that's easily integrated with other languages and tools, this hands-on book will help you be productive with Python quickly -- whether you're new to programming or just new to Python. It's an easy-to-follow self-paced tutorial, based on author and Python expert Mark Lutz's popular training course. Each chapter contains a stand-alone lesson on a key component of the language, and includes a unique Test Your Knowledge section with practical exercises and quizzes, so you can practice new skills and test your understanding as you go. You'll find lots of annotated examples and illustrations to help you get started with Python 3.0.

Learn about Python's major built-in object types, such as numbers, lists, and dictionaries
Create and process objects using Python statements, and learn Python's general syntax model
Structure and reuse code using functions, Python's basic procedural tool
Learn about Python modules: packages of statements, functions, and other tools, organized into larger components
Discover Python's object-oriented programming tool for structuring code
Learn about the exception-handling model, and development tools for writing larger programs
Explore advanced Python tools including decorators, descriptors, metaclasses, and Unicode processing


Want to learn more information about Learning Python: Powerful Object-Oriented Programming?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...