- File Size: 23729 KB
- Print Length: 308 pages
- Simultaneous Device Usage: Up to 5 simultaneous devices, per publisher limits
- Publisher: Addison-Wesley Professional; 3 edition (September 27, 2013)
- Publication Date: September 27, 2013
- Sold by: Amazon.com Services LLC
- Language: English
- ASIN: B00FGUS948
- Text-to-Speech: Enabled
- Word Wise: Not Enabled
- Lending: Not Enabled
- Amazon Best Sellers Rank: #281,976 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw's Hard Way Series) 3rd Edition, Kindle Edition
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Customers who bought this item also bought
About the Author
--This text refers to the paperback edition.
Would you like to tell us about a lower price?
There was a problem filtering reviews right now. Please try again later.
So, while the positives (well thought through progressively more difficult code examples) do outweigh the negatives (lack of a glossary and lack of tables with details) ... barely ... you will likely want to get another reference book to cover the holes in the instruction.
The problem with this book is that the author leaves out too much stuff for the readers to find out themselves.
Reading this book reminds me of college classes where professors lecture you the bare basics and expect you to do after class studying to fill up the holes. for example, in ex 46 and 47 the author introduces unit testing and the nose package. but he doesn't write a single sentence to explain what is unit test and/or how to use nose. instead he just says you should google it to find out.
The reason I buy books like this is so i don't have to google everything. This kind of writing/teaching style defeats the purpose of reference books.
First of all, he urges you to use Python 2, even though Python 3 had been out for six years by the time this edition of his book was released. Why? Who know? He makes some noise about Python 3 not being installed on every machine, but that's bull. You can download it. So the upshot is that he's not even teaching you the correct syntax for the latest version of the language.
Second, he doesn't teach programming at all. He teaches syntax. All he does is go through the language, covering what the terms mean, but not really what you can do with them. His sample programs are all ridiculously trivial.
Finally, whenever he gets to anything remotely hard, he says, "Well, search for it on-line and figure out what it does." My favorite is Exercise 37. He has a big long list of terms, about half of which he's covered. He instructs you to figure out what the rest do, then "use each of these is a small Python program..." Thanks, Zed. If I wanted to teach myself the language, I could have saved myself the 20 bucks.
You should read and know the definitions of those concepts first, look at sample programs, and then type out code, and then do exercises.
I found a much better and effective textbook: Starting Out with Python by Tony Gaddis! it has everything: readings, concepts, definitions, examples, homework/exercises.
Top international reviews
First, the subject matter. Zed A Shaw is clearly a man who believes in starting from the bottom, and working slowly up one step at a time, and I for one think that is the most effective way to learn. You start by printing "Hello, World!" (of course) and then very slowly, very gradually, creep forward, one step at a time.
In my experience, this is not a reference guide, or a dip-in-and-out guide. This is a formulaic, by the numbers program designed to replace a classroom environment. You do exercise 1, then 2, then 3. Naturally you will probably find that you start to experiment slightly as you progress, but generally Zed expects you to follow the lessons as outlined.
I can see how some might find the author a bit patronising - he writes as though he knows everything and you know nothing. But... he's an experienced programmer, and you're learning from scratch, so this is in fact the case.
In short, listen to him, read the book, follow the exercises and in just a few days you'll know everything you need to know. Then all you need is a lifetime of experience.
Zed often chats about why he's teaching you the way he is but there is a mature technique "under-the-hood" and his conversational, rebellious and amusing style belie the effective nature of the training method. His critics hate him because he takes a stand, often very vocally, on divisive issues. Whilst I found the sections on Object Oriented Programming mildly unhelpful initially (I don't usually like being told what to think about something before I try it) I have since found that it is indeed somewhat over-used, and as he puts it "just plain weird".
Remember, he's just got one opinion amongst many, many opinions out there. You don't have to throw the baby out with the bath water, to do so would be to be to miss a superbly enjoyable program for learning.
He's a good teacher, and entertaining too, and his more opinionated moments leave much space for your own research, What's not to like?
Oh, and I can now program in Python after just a couple of short months!
Apparently written for beginners, but the "if you can't find it, look it up" approach is not (contrary to the author's apparent belief) a proven mantra for educating learners.
In addition, although it's written for beginners, (and he even includes a "Warning for Smarties" to ensure programmers don't feel patronised - so DEFINITELY for beginners) he talks to those beginners as if they're programmers.
For example, first few pages - instructs you to open Powershell. Fine. Done. Then, open "Terminal" (capital "T" used, not small "t", therefore proper noun, and not a generic software description). There is no program called "Terminal" installed in Windows 10. After a couple of hours of head scratching and surfing, I THINK, by "Terminal", he was referring to Powershell, as I found online a Windows 10 “Terminal Preview” which I installed, and which, on opening, merely opens Powershell.
But THIS IS FOR BEGINNERS! You couldn't have explained that Mr Shaw? Or, if I have got it wrong, you (still) couldn't have explained? No, the cool approach is, as he says several times in the first few pages, "if you can't find it, look it up".
Bear in mind that the writer goes to great lengths (several times in the first few pages) to say that instructions should be followed EXACTLY. EVERY CHARACTER. EXACTLY. So, Zed Shaw, if you didn't mean "Terminal" (the name of the program), and in fact meant "terminal" (a type of program - in this case, Powershell?), does not the CHARACTER difference ("T"/"t") make all the difference? Has it occurred that beginners may not know the terminology?
I got through the first exercise. Didn't work because the recommended version of Python (2, not 3) is not available for download as an installable program, or if it is, I couldn't find it (but then Python 2 is 8 years out of date, so what a surprise). I am not a teacher, but I think it's safe to say that an essential requirement for books written for learners, is to teach.
Make your mind up Zed Shaw, write for enthusiasts or beginners. But don't write for enthusiasts and say you're writing for beginners. That's how this reads.
If you are familiar with python then this book is great, it pushes you to solve your own problems which can be a great way of learning for some people. I definitely recommend trying this book.