Rating:  Summary: almost complete, but could use a few touchups Review: Not a bad introduction to the basic concepts, and certainly better than most of the "teach yourself", "learn foo in 15 minutes", "foobar for dummies", or the idiot guides. This book does not attempt to teach serious Python, instead focusing on the practice of program development with python as an example language. There are lots of "see the python documentation" type references to explain newly presented material. The basics of python are presented clearly, although a true novice will probably get lost and require some more clarification- that's ok since it teaches how to learn more about the language. Don't worry, the CDROM contains tutorials and there's lots more available online. Each chapter is presented in pseudo-textbook style, complete with sometimes silly "things to ponder" (e.g. "It's often said that laziness is a good quality in a programmer- can you think why that might be true?"). For the next edition a series of exercises and programming assignments would be useful, complete with answer keys on the CDROM.The book can certainly include more about how programmers solve problems and create useful tools. Introducing a collection of "tricks of the trade" would help here (e.g. the 'x = TRUE', 'while not TRUE' conditional statements used so ubiquitously aren't even mentioned). A chapter dedicated to simple algorithms would be nice as well (e.g. a sorting routine), and would make writing useful programs much easier for beginners. The large type and wide margins could be pared down a bit to include all of this without making a doorstop-like tome (a la wrox/"teach yourself" books). With that said, there are some very good points in this book that make it a good choice. The book accomplishes its goal of "learn to program" using small, easily digested chapters that are quick reads. There are lots of examples and most importantly, examples of larger programs that are actually fun to write and modify (like the hangman prog.) One of the most helpful chapters for me was the chapter "Designing a solution", aimed at getting a larger project going. Additionally, the book presents essential (but often overlooked) chapters on debugging and programming style. As it stands, the book provides a solid foundation for the more comprehensive books (e.g. Kernighan and Ritchie's "the C programming language"). With a few touchups this book could become an essential introduction to programming.
Rating:  Summary: almost complete, but could use a few touchups Review: Not a bad introduction to the basic concepts, and certainly better than most of the "teach yourself", "learn foo in 15 minutes", "foobar for dummies", or the idiot guides. This book does not attempt to teach serious Python, instead focusing on the practice of program development with python as an example language. There are lots of "see the python documentation" type references to explain newly presented material. The basics of python are presented clearly, although a true novice will probably get lost and require some more clarification- that's ok since it teaches how to learn more about the language. Don't worry, the CDROM contains tutorials and there's lots more available online. Each chapter is presented in pseudo-textbook style, complete with sometimes silly "things to ponder" (e.g. "It's often said that laziness is a good quality in a programmer- can you think why that might be true?"). For the next edition a series of exercises and programming assignments would be useful, complete with answer keys on the CDROM. The book can certainly include more about how programmers solve problems and create useful tools. Introducing a collection of "tricks of the trade" would help here (e.g. the 'x = TRUE', 'while not TRUE' conditional statements used so ubiquitously aren't even mentioned). A chapter dedicated to simple algorithms would be nice as well (e.g. a sorting routine), and would make writing useful programs much easier for beginners. The large type and wide margins could be pared down a bit to include all of this without making a doorstop-like tome (a la wrox/"teach yourself" books). With that said, there are some very good points in this book that make it a good choice. The book accomplishes its goal of "learn to program" using small, easily digested chapters that are quick reads. There are lots of examples and most importantly, examples of larger programs that are actually fun to write and modify (like the hangman prog.) One of the most helpful chapters for me was the chapter "Designing a solution", aimed at getting a larger project going. Additionally, the book presents essential (but often overlooked) chapters on debugging and programming style. As it stands, the book provides a solid foundation for the more comprehensive books (e.g. Kernighan and Ritchie's "the C programming language"). With a few touchups this book could become an essential introduction to programming.
Rating:  Summary: Operator Overloading & Other Nonsense Review: On page 52, before you have written a single simple program this poorly edited book stuns the beginner with: <quote> Object operations are accessed in the same way as data members of a user-defined type (that is, via the dot operator) but otherwise look like functions. </quote> If you already know how to program, say in Pascal, or have extensive experience with scripting in DOS or Linux, then this book is a slow introduction to the Python language. If you have never programmed before, this book will make your head hurt, especially since it is secretly a British book translated into American. Technical books are difficult in general, but in my experience, the Brits have a special knack for making the easy difficult and the difficult next to impossible. Beginner's books should seek to build confidence, not overwhelm with how brainy and wide-ranging a thinker the author is. The examples are confusing and poor. For instance when showing how a complicated feature works he should use everyday words like "goat", "pig", "horse" as examples of data to be stored. Instead, the author uses jargon words like "boolean" and "integer" -- this right after describing boolean and integer values. Originally this book was a web site, and in fact it still is. I recommend you save your money and download or view it online.
Rating:  Summary: Programming for right-brained readers Review: This is the first book I have ever used that got me to understand the conceptual underpinnings of the craft of programming - and then it helped me do it! I have had a varied IT career that has included networking, web design and high end graphics work, but I am decidedly right brained and conceptual mathematics is wasted on me. I have attempted to learn programming languages in the past for automating my work but have always ended up delegating the tasks, relying on others. The tone of the book was perfect for me. It eased me into the world of programming while keeping me rooted in concepts I could relate too. The author is very sympathetic to the needs of readers like me, who are not naturally enclined programmers but need to get into the field. The book flows from topic to topic very naturally. The content is clear and simple yet gives reference to topics the reader might wish to investigate as they gain confidence. The "Things to Ponder" sections helped me investigate my own thinking about programming, which really helped me unlock my own understanging of programming. This book is an excellent start for anyone wishing to learn programming, especially those who have failed before. I am now going to start the O'Reilly book "Learning Python (Help for Programmers)" feeling fully empowered.
Rating:  Summary: Quick to the meat and potatoes but well explained Review: This was my first introduction to Python with little programming experience in general. The author does a great job of ramping into examples containing 'real world' relevant code. This book is a refreshing change from the apparent trend of 'the more pages, the better' Material is condensed into small bite-sized chunks of 5-6 pages.
Rating:  Summary: If you're afraid that you can't program, this book is for yo Review: Well, this books wouldn't be useful for everyone, but I'm convinced that it's even invaluable for some of us. I can testify it. Before reading this book, I've been long afraid I couldn't really understand programming ... I had some traumatic experiences with C and Perl (What awful choices ...) But now, my such fear is all gone. Yes, I can do that! I appraise the author made a right choice on Python as the reference language. It's probably ideal for his purposes. But because this isn't intended as a serious introduction to Python as a really powerful language, you'll eventually need other good introductory books on Python itself, maybe Learning Python from O'Reilly? No matter how deeply the author is appreciating many problems beginners face, he is far from catching on everything. Actually, he misses some crucial aspects in programming that really make beginners complaint "Nooooo, I don't get this!!!!". For instance, he avows he can't get why it's so hard for beginners to understand what files are, saying the concept of "files" is exactly the same as files used in Microsoft Office, for example. I think he is wrong here, probably being too accustomed to common practice in programming. If my case can be generalized, beginners can't have any idea of "opening" files without "reading" them!! It is just assumed that the content of a file is out there once it is opened. But this ISN'T true (at least in Python) and this distinction of "open a file" from "read a file" is really puzzling for beginners. Even with a few weaknesses of the kinds mentioned, this book surely lays excellent foundations to higher level programming in other languages to many readers. I have no hesitation to recommend this book even to friends or collegues who are alergic to programming.
|