Spotlight customer reviews:
|
Customer Rating:      Summary: Pythonesque - a major contribution to learning programming with Python Comment: I am really impressed by the 3rd edition of Mark Lutz's "Learning Python" book. It's a comprehensive introduction to the language. If you already know another programming language, you'll be able to jump in anywhere and get a quick working exposure to Python. If you are completely new to programming, the author starts slowly and moves at a steady, manageable pace. He provides all that you'll need to know in order to write and run programs.
I believe "Learning Python" would work great as a standard text book in college comp sci programs. It is a great exploration of the Python language and the best introduction I've seen covering how to actually build something more complicated in the real world than "hello world".
I'm a big fan of Ruby, but reading this new 3rd edition opens my eyes to what I've been missing by not doing more with Python. I've looked at other Python books in the past and none of them made Python really interesting. This book does.
I've been thinking about what language to teach someone totally new to programming - my kids, for instance, or college students just starting into programming . Python is a strong candidate and this book would be an ideal teaching aid.
One of the "pedagogical" things I like about Python (and Lutz's book) is how clearly you can see the influence and ancestry of C and C++. Lutz describes the steps that have been taken to improve Python into a more productive programming tool without giving up the power.This opens up an interesting line of discussion into the dynamic and evolutioary history of programming languages.
This is a big book. I'm only part way through the 600+ pages. You won't sit down and breeze through it in an afternoon. However, you'll quickly get well past "Hello World" and gain a good feeling for the language. I found it easy to skip ahead to some of the later chapters that interest me; they stand well on their own.
If you are curious about Python, this book will give you all the start-up skills you'll need.
Customer Rating:      Summary: very good book for us noobs Comment: I'm an experienced C/C++ developer and needed to pick up python in a hurry for work. I ended up buying several python books to make sure I had all my bases covered. I've come to appreciate this book a lot.
It does two things very well. First, it gives you a good overview of the language. You can read the book front to back and it has a nice progression. You'll certainly know the basics if you do that.
Second, and probably more importantly, for those of us too impatient to read a book cover-to-cover, it serves as an excellent reference for beginners. When I started out there were all the little noob things that I found myself constantly having to look up. Like "how do you specify a comment?" or "how do you structure and if-block?" or "how to you get a substring out of a string". Very basic questions like this that many python books don't bother with because apparently they are too basic.
If there is a weakness, it's just that this book is rather small and only covers the very basics. So reading this book alone will certainly not make you a mighty python programmer, or even give you enough info to probably write something interesting. But this book definitely deserves a place on your bookshelf if you are starting out and need the basics.
Customer Rating:      Summary: teaches the language, but didn't convince me Comment: I took some time off of work, and I really wanted to just relax and goof off. I'd won a Safari subscription in the Perl Foundation auction, and I wanted to put it to use. I added Learning Python to my bookshelf and had at it.
It's hard to separate Learning Python from learning Python, but I'll do what I can: I felt the writing was a bit dry. It didn't flow the way the Camel and Llama books did, and the attempts to inject humor were really awkward. For example, the author is excited to explain that Python is named after Monty Python, and that "foo" and "bar" are replaced with "spam" and "eggs." This sounds silly. In practice, it's distracting. My brain is used to reading code with foo and bar, and knows how to skip over them. "spam" and "eggs" makes it harder to read.
I guess this is trying to help me become familiar with Python culture, but it just bugged me.
Learning Python (the activity) made me realize that Python's most immediate failings were not the ones I'd heard bandied about. The whitespace thing has serious ramifications, but it wasn't keeping me from coding quickly. Instead, I found that the lambda syntax and statement/expression division in Python really, really got in the way.
The book didn't see this as a problem. It didn't even seem interested in acknowledging that some people thought it was a problem. It just said "lambdas are anonymous functions! Isn't that great?"* and moved on.
One of the best programming language books I've read was AppleScript: The Definitive Guide. The thing that made it a great book was the author's willingness to say, "Look, this is where the language is most insane and horrible." If the authors think that Python is always great, they should at least provide explanations of what pitfalls are avoided by the constraints that leave many outsiders grimacing.
In the end, I learned enough Python in a week to get through all the exercises and then refactor some goofy code I had inherited, confident of what I was doing. Considering that I was also relaxing, drinking beer, and playing video games through that whole week, I think the book lived up to its job.
It just didn't convince me to convert.
(* OK, I'm paraphrasing.)
Customer Rating:      Summary: This book is awful. Use the online tutorial instead. Comment: I am an experienced Perl and C programmer who wanted to try something new, and everyone raves about Python. The language itself is great -- but this book is awful. Here's the really short form of why I think so:
- The point of Python (or any programming language) is to do things, not to marvel at how cool the language is. Reading the book, you can't do anything other than toy programs until you're almost all the way through. That's 400+ pages of reading before you can do anything more interesting than basic operations.
- The book isn't concise -- quite the opposite. The authors marvel at the implementation details of the language at the very start -- which takes up many pages and isn't really relevant for the beginning python programmer.
I finally just went to the online python tutorial[...]it covered most of the same topics with a lot fewer words, and was less confusing to boot.
- The reason I buy books rather than just use online resources is to use the exercises as a method of forcing myself to learn the language in a structured fashion. The exercises in the book are trivially easy: they're not about thinking and understanding, but regurgitating what the book said. Because you're not doing any real work until the 400-page mark, you can't do anything really interesting in the exercises or on your own (if you're just reading the book).
I've read a lot of "Learning XXX" books. This is by far the worst.
My recommendation is to skip this book and go straight to the online tutorial. You'll save trees, money, and time.
Customer Rating:      Summary: Great for experienced programmers Comment: Learning Python is an efficient way to learn python if you are familiar with one or more other programming languages. The book does a nice job of comparing and contrasting python's qualities with those of other languages (C++ and Java in particular) and provides many concise examples that highlight specific features well. For me, Learning Python was a great way to get going with software development in python.
If you are fairly new to programming, however, this book probably isn't for you. The first few parts try to be a more general introduction to programming, but they aren't enough for those truly new to programming languages. As an experienced developer, you will likely skim through the first few parts of this book quickly.
It's also not an exhaustive reference manual, and with Python 2.5 now released the book is getting a bit dated. But the core language features have not changed much, and there is plenty of online material describing that changes since version 2.2/2.3 that this book is based on.
|
|
|