<< 1 >>
Rating:  Summary: Very Deep - Excellent intro to OOP and Python Review: An excellent intro to Object oriented programming in general and Python in particular. A real hefty volume. Wish I could afford it.
Rating:  Summary: Very Deep - Excellent intro to OOP and Python Review: I am a practicing mechanical engineer who's programming experience is based mainly in Fortran90. I wanted to learn Python as quickly as possible, but in a well structured manner. I tried learing Python from the book 'Learning Python', but became discouraged after a few days when the discussion became disjointed. 'Python How to Program' is an excellent book and reference for Python. It is extremely thorough covering many topics including object-oriented programming (three chapters) and web programming. This book will form the foundation of my Pyhton library. Each Python subject is introduced in a simple manner and then proceeds to a more advanced level. Many examples are presented with thorough discussions in each chapter. Detailed summaries are presented after each chapter. This is an excellent book for self-study. I have recommeded it to many of my engineering colleagues.
Rating:  Summary: An excellent book for learning and mastering Python Review: I am a practicing mechanical engineer who's programming experience is based mainly in Fortran90. I wanted to learn Python as quickly as possible, but in a well structured manner. I tried learing Python from the book 'Learning Python', but became discouraged after a few days when the discussion became disjointed. 'Python How to Program' is an excellent book and reference for Python. It is extremely thorough covering many topics including object-oriented programming (three chapters) and web programming. This book will form the foundation of my Pyhton library. Each Python subject is introduced in a simple manner and then proceeds to a more advanced level. Many examples are presented with thorough discussions in each chapter. Detailed summaries are presented after each chapter. This is an excellent book for self-study. I have recommeded it to many of my engineering colleagues.
Rating:  Summary: Does not have any Perl information Review: I provided technical review (I was one of many) for this book, but frankly I didn't enjoy it all that much. It does cover the material well, but the presentation is dry and the print (typeface) is unpleasant in my opinion.As a textbook it would be quite effective; if they would reissue it in a clean, easy-to-read format (like an O'Reilly or New Riders book for instance) I'd rate it higher.
Rating:  Summary: Not as impressive as it could be... Review: I provided technical review (I was one of many) for this book, but frankly I didn't enjoy it all that much. It does cover the material well, but the presentation is dry and the print (typeface) is unpleasant in my opinion. As a textbook it would be quite effective; if they would reissue it in a clean, easy-to-read format (like an O'Reilly or New Riders book for instance) I'd rate it higher.
Rating:  Summary: really quite good Review: I was also a technical reviewer for the book, and really liked it. Even considering the price of the book, I think it's quite valuable, because it explains the basics of so many topics in a manner that makes sense. If you are new to programming and would like to try out different things to see what you might like, such as web programming, XML, designing windows (lowercase 'w') that will work on a variety of platforms, databases, sockets, etc., you may find that this book provides material you would otherwise look through a literal stack of books to find. No programming book is perfect, but I think this one is pretty good.
Rating:  Summary: Pure Python Programming Power Review: No doubt about it the most well written and comprehensive Python book to date. This Deitel team is hard to beat. They display a complete understanding in all their books and are able to deliver an amazingly strong range and depth for all users. This is a fluidly based book for all knowledge levels. The first 6 chapters are perfect for beginning Pythoners. A really fun part of the book for me, was chapter 24 where you get to create a CD player, Movie player, and a Space-Cruiser game. I was also pleased that they included a chapter for web accessibility for Internet users with disabilities. Most web site designers ignore web site accessibility, but in the future they will eventually have to comply with the WCAG web site guidelines. On a side note, did you know that HTML is dead? The Appendix has 2 chapters on XHTML, the new replacement for HTML. Even though Guido Van Rossum derived the Python name after the popular BBC comedy show, the Python language really has 2 sides; one of programming fun and the other of programming power. The Deitel team really illustrates Python's power in several areas. They delve fully into: control structures, functions, lists, tuples, dictionaries, CGI, OOP, classes, inheritance, GUI, exceptions, strings, regular expressions, files, XML, XHTML, databases, process management, multithreading, networking, security, data structures, multimedia, voiceXML, WML, and Python server pages. Chapter 23 is a complete online bookstore program that is pretty impressive. I'm very excited about this book and the part that Python will play in the future of programming and the Internet. I really see a promising future for Python in e-commerce. I can tell you that from 3 years of hardcore web development, Python's big advantage over Perl is that its more suited to OOP based CGI programs than Perl. I used Perl for 2 years for nothing but web CGI and now I find myself using Python more and more. I'm not knocking Perl, I still use it, and it certainly holds it's own areas, but when it comes to CGI and OOP applications development, Python is fast, efficient and very tough to beat. The CD that comes with the book has the following programs: Alice 99 Interactive 3D, Python 2.2, Apache Web Server 1.3.22, Webware 0.6, Pixo Microbrowser 2.1, IBM WebSphere Voice Server SDK 2.0 for Win 2k, web site links mentioned in the book and the code examples from the book. No matter what your skill level in Python, this book will aid you in your web development quest and you won't be sorry for the purchase. Be a part of the Internet's new development future. Be a Pythoner.
Rating:  Summary: A Recipe for Disaster Review: Previously, I reviewed the "Java How to Program" book and found it to be a terrible waste, sure to take all the fun and creativity out of programming, and lead the readers down a path leading only to a pit of talentless drones. So when I saw this book on the shelf, I flipped through it, hoping that the free-wheeling nature of Python might have lead the Deitels towards a more enlightened approach to instruction. I quickly found that this book has many lessons to teach (although precious few that I would agree with). For example: * Python programmers are NOT having more fun than Java (or other) programmers; all languages are equally stultifying. * Learning a language is a tedious task, centered around learning features of the syntax in a prescribed order. (This is like learning to cook by trying ingredients one at a time in alphabetical order, without ever trying to put together something tasty.) * The practice of programming has no underlying principles, only an endless series of questionable tips presented in overly-garish multicolor pages. (You'd be better off with a single chapter of "Structure and Interpretation of Computer Programs" than with anything in this book.) * Programming is inherently boring, involving endless repetitive typing; it is better for the programmer to do a lot of work than to expect the computer to. For example, consider this masterpiece of brevity from chapter 4 (Fig 4.7): =================================== import random frequency1 = 0 frequency2 = 0 frequency3 = 0 frequency4 = 0 frequency5 = 0 frequency6 = 0 for roll in range( 1, 6001 ): # 6000 die rolls ___face = random.randrange( 1, 7 ) ___if face == 1: # frequency counted ______frequency1 += 1 ___elif face == 2: ______frequency2 += 1 ___elif face == 3: ______frequency3 += 1 ___elif face == 4: ______frequency4 += 1 ___elif face == 5: ______frequency5 += 1 ___elif face == 6: ______frequency6 += 1 ___else: # simple error handling ______print "should never get here!" print "Face %13s" % "Frequency" print " 1 %13d" % frequency1 print " 2 %13d" % frequency2 print " 3 %13d" % frequency3 print " 4 %13d" % frequency4 print " 5 %13d" % frequency5 print " 6 %13d" % frequency6 =================================== (Note I use "_" for blank because Amazon won't indent code properly.) This is 36 lines (52 if you count the copyright notice) for something that a grade-schooler could tell you (I know -- I've asked) is better done with 7 lines: import random def roll(sides=6, n=6000): ____freq = [0] * sides ____for roll in range(n): ________freq[random.randrange(sides)] += 1 ____return freq I find it a case of unconscionable student-abuse to suggest that it is permissible to write a function such as Deitel et al. present, but I suppose they had their reasons: perhaps they hadn't introduced lists (or functions) yet. Perhaps lists (or functions) didn't fit readily into their idea of the right order to learn concepts in BASIC (which must therefore be the best order to learn concepts in every other language). If you want to learn Python, or learn to Program with Python as your first language, try another book such as "Learning Python" or "Programming Python". If you want to ensure that you won't appreciate why Python is the way it is and why it is interesting; if you want to make sure that you'll be a drone of a programmer with no chance of doing anything creative at a good company or school, by all means stick to this book.
Rating:  Summary: A Recipe for Disaster Review: Previously, I reviewed the "Java How to Program" book and found it to be a terrible waste, sure to take all the fun and creativity out of programming. So when I saw this book on the shelf, I flipped through it, hoping that the free-wheeling nature of Python might have lead the Deitels towards a more enlightened approach to instruction. I quickly found that this book has many lessons to teach (although few that I would agree with). For example:
* Python programmers are NOT having more fun than Java (or other) programmers; all languages are equally stultifying.
* Learning a language is a tedious task, centered around learning features of the syntax in a prescribed order. (This is like learning to cook by trying ingredients one at a time in alphabetical order, without ever trying to put together something tasty.)
* The practice of programming has no underlying principles, only an endless series of tips presented in overly-garish multicolor pages. (You'd be better off with a single chapter of "Structure and Interpretation of Computer Programs" than with anything in this book.)
* Programming is inherently boring, involving endless repetitive typing; it is better for the programmer to do a lot of work than to expect the computer to. For example, consider this example from chapter 4 (Fig 4.7):
===================================
import random
frequency1 = 0
frequency2 = 0
frequency3 = 0
frequency4 = 0
frequency5 = 0
frequency6 = 0
for roll in range( 1, 6001 ): # 6000 die rolls
___face = random.randrange( 1, 7 )
___if face == 1: # frequency counted
______frequency1 += 1
___elif face == 2:
______frequency2 += 1
___elif face == 3:
______frequency3 += 1
___elif face == 4:
______frequency4 += 1
___elif face == 5:
______frequency5 += 1
___elif face == 6:
______frequency6 += 1
___else: # simple error handling
______print "should never get here!"
print "Face %13s" % "Frequency"
print " 1 %13d" % frequency1
print " 2 %13d" % frequency2
print " 3 %13d" % frequency3
print " 4 %13d" % frequency4
print " 5 %13d" % frequency5
print " 6 %13d" % frequency6
===================================
(Note I use "_" for blank because Amazon won't indent code properly.) This is 30 lines (42 if you count the copyright notice) for something that a grade-schooler could tell you (I know -- I asked one) is better done with 7 lines:
import random
def roll(n, sides=6):
____freq = [0] * sides
____for roll in range(n):
________freq[random.randrange(sides)] += 1
____return freq
print roll(6000)
I find it a case of unconscionable student-abuse to present examples like this, but I suppose the Deitels had their reasons: perhaps they hadn't introduced lists (or functions) yet. Perhaps lists (or functions) didn't fit readily into their idea of the right order to learn concepts in BASIC (which must therefore be the best order to learn concepts in every other language).
If you want to learn Python, or learn to Program with Python as your first language, try another book such as "Learning Python" or "Programming Python".
If you want to ensure that you won't appreciate why Python is the way it is and why it is interesting; if you want to be bored and avoid learning how to do something creative, by all means stick to this book.
Rating:  Summary: Does not have any Perl information Review: The book has a lot of hand waving but no concrete information on Python where it matters. For example there is no comparison of it with Perl. In fact they never say how the two can work. Also the authors do not cover at all the Meta Object Protocol of Python or for example how it does virtual pointer-based interface inheritance. These are important concepts that a student of Python must know. Also missing is any information on the transmutation of objects under constraints. All in all, way too elementary.
<< 1 >>
|