This simple book is meant to give you a first start in programming.
The title says it is the hard way to learn to write code but it’s actually not. It’s the “hard” way only in that it’s the way people used to teach things. In this book you will do something incredibly simple that all programmers actually do to learn a language:
1. Go through each exercise. 2. Type in each sample exactly. 3. Make it run.
That’s it. This will be very difficult at first, but stick with it. If you go through this book, and do each exercise for 1-2 hours a night, then you’ll have a good foundation for moving on to another book. You might not really learn “programming” from this book, but you will learn the foundation skills you need to start learning the language. This book’s job is to teach you the three most basic essential skills that a beginning programmer needs to know: Reading And Writing, Attention To Detail, Spotting Differences.
Considering I'm a software developer by profession and already know enough Python to be dangerous, I'm definitely not the target audience for this book. I still bought it for 2 reasons: (1) I like Zed's writing and also read his blog. (2) I also teach programming courses and thought this book might give me some good ideas on how to teach certain concepts to our students. I wasn't disappointed, this book is an excellent introduction to programming, the methodology is refreshingly different from all the dreadful "Learn X in 21 days" books in that it actually stresses how tedious and annoying writing code can be and if you are a new software developer and use it like it's intended, you'll definitely learn a lot. I for one will recommend this in the future!
I used this book to remember some of the basic things I had studied before. It was kinda okay up until the object oriented programming concept. the author basically throws in some code and expects you to understand it! if you can't, then it's your own problem. google it, freak! The book should have been called "Learn to google the hard way with a twist"!
This is an excellent guide for a complete beginner, not just to Python, but to programming in general. Downside is, it is of very little help if you are already familiar with the language.
Also, the book is based on Python 2, so for someone just starting, there might be difference in opinions whether or not Python 2 is the way to go. But once passed that, the book is very helpful.
It's a decent book to learn Python, but it's really lacking. It starts off strong learning the simple concepts, but when he gets to classes, everything falls apart and he really slacks off in explaining certain details. Plus he throws you off the deep end before giving any actual exercise using tuples, saying here's the test code go write the program that works with it. I would make sense if he actually had explained things and given examples.
the author basically throws in some code and expects you to understand it! if you can't, then it's your own problem. google it, freak!
I don't like Zed's approach to teaching. Other learning resources are much more pedagogical and make learning fun and rewarding instead of frustrating. If you're a total beginner I'd recommend starting and getting some practice with the basics before moving on to books. It'll make things more fun to be hands-on initially.
The author is condescending, the examples are tedious and that attitude of "do things this way because is the good one and all the others suck" or "type this and shut up" is stupid.
There are a lot of good resources about Python out there. This book isn't one of them.
Bohužel, LPTHW bych rozhodně nedoporučil nikomu, kdo chce proniknout do tajů programování v Pythonu. Jediná kapitola, která je užitečná, je Appendix A, jenž naučí základy práce v PowerShellu.
Přibližně od poslední pětiny knihy se praktická cvičení stávají absurdně náročnými, nové koncepty se ukazují na těch dosud nevysvětlených. Příklad 39, kdy se slovníky vysvětlují vytvořením hashmapy, je už opravdu úlet.
Not a fan of Zed's tone, particularly in the early chapters, which made me set this book aside to read a different book in order to learn Python for a bit (Python Crash Course: A Hands-On, Project-Based Introduction to Programming by Eric Matthes) - especially since I already know how to program in several other languages.
That said, I'm glad I came back to this book for the later chapters, particularly about organizing game code since I love to write Interactive Fiction (IF) games and that kind of game is the example used through the entire second part of this book. I was also interested in the section for making it so your game could be played from a webpage.
Python is a great language choice for someone beginning to learn computer programming. Learning Python means you can hack on your Raspberry Pi, contribute to OpenStack, or do just about anything else in between. Learn Python the Hard Way by Zed A. Shaw is an excellent learning resource for the beginning Python programmer. Don't be turned off by the "hard way" bit; the book's exercises are well thought out and pedagogically sound. In fact, doing things the "hard way" will actually make you a better programmer in the end.
by is one of the books on the . Visit our site for details on how you can win a free copy of the book.
Nice tutorial for getting started with Python, with many practical exercises and step-to-step instructions.
Plus, and that's useful, it's widely used so for any issue we can find a thread already opened and solved on stackoverflow.
The only let-down is that often it throws in a bunch of new terms or codes without explaining them: they'll be explained later, or it's up to you to stop and search elsewhere.
I am surprised this has such a low rating. I mean, yes, when I went to #python on irc.freenode.net and asked guys, I need a basic beginners python book, the immediate response was haven't you seen LPTHW.
Zed, you sir, are an awesome teacher. I mean, yes, awesome teacher. I love the line, "Remember, paying attention to details is necessary. make the code exactly as mine and run". Well, I did run it, sir.
One guy in my office, who is also in python-devel list and a seriously good python guy, also recommended this book first in his lecture when he gave a brief introduction of the language. Yeah, I have this book open in my tab most of the time. BTW, this is not for professional python guys who are executing .py all the time, this is meant to get a grip on the language and then further explore it. Even, Zed told that a number of times.
If you are interested in learning python, give this a try.
Ужасная книга. Во-первых, чрезмерно раздутая. Фактического материала тут всего лишь листов на 50, а остальное - это патерналистские нравоучения автора, считающего себя величайшим программистом и призывающего читателей слепо следовать своим указаниям. Во-вторых, автор возможно и является хорошим программистом, но вот преподаватель он крайне слабый. Книга просто пестрит советами посмотреть тот или иной материал в интернете, вместо того, чтобы самому его объяснить. В третьих, очень много кода, который автор просто советует переписать, а читателю остается только самому догадываться, что же этот код делает и почему. В итоге получаем действительно "тяжелый путь" к изучению питона, так как по этой книге выучить данный язык программирования действительно очень сложно. Лучше обратить свое внимание на другие, неизмеримо более достойные, учебники.
Read the whole book overnight. Was hoping for some really hardcore chapters, but went through it like a knife through the butter. On the other hand — I'm a professional programmer.
Nonetheless, I learned how to >>> read and write python source code >>> do simple test driven programming (though I seek for more details in «Test-Driven Development in Python by Jason Diamond»)
The downside of it was really misleading title. That was not the hard way, there were some extremely important details missing, but all in all it was OK, so two stars.
I find text based games really boring and I didn't like the style the book is written in, nor the whole idea of typing all the code first and then getting an explanation after that.
I'd suggest to take a free Coursera course "An Introduction to Interactive Programming in Python" instead. No need to install anything (everything runs in a browser), much better explanations of things, clear, fun and doable mini projects (a few card games, pong, asteroids with graphics and sounds!), community, etc.
Not the best book on learning python I've read.. The code examples contain _a lot_ of fluff and the author doesn't really explain much... The chapters/parts are really short with 3/4 parts of code that you should write exactly like the author does. and then it's 1/4 of "Figure out why this works! Google it if you can't figure it out"
The reason I pick up books like these is to get a new perspective and see if the author brings something new to the table. This is not it.
This is my go to book recommendation for anyone who wants to learn either programming period, or wants to learn Python coming from a basic level in other languages.
Some of the other complaints are that there isn't enough explanation in this book - this is exactly what I love about it! Explanations never worked for me when I started learning programming. Repetition builds intuitive understanding, that's what this book is all about.
I have to agree with all other reviewers. Shaw isnt a great teacher. The book starts out with Shaw spending entirely too long explaining the most basic concepts and then once we get to the harder concepts he stops providing any kind of explanation and tells you to look it up on the internet. And he's right. Dont waste your time on this book when there are so many free resources available online. Oh and this book is 90% Shaw's poems and short stories incorporated in the code. For every line of code there are like 5 lines of nonsense.
When first picking up this book, I was expecting to see an anatomy of the Python on the first few pages of the book. However, I ended up finding the ABCs of the programming language named “Python.” I am currently in High School level, who never had any prior education on coding or computer science. I was looking through the piles of books trying to find the easiest book I could start with because I was about to start a little programming organization named the Online Student Programmers’ Organization.
This book simply instructs the readers to follow through the exercises first, and then teaches you the concepts of the code. Thus, this book is centred towards “hands-on” exercises rather than plain old “read and consume info.” Zed A. Shaw has incorporated numerous graphic images to allow the readers to comprehend the steps listed within each exercises. Finally, this book provides a little “appendix” section for all the sudo codes you can perform on consoles for the Windows, Mac, and Linux.
Overall, this book is great because it starts with the basics of Python; I would highly recommend this book to new coders as this book is easy to comprehend and follow through.
I like that it builds to building websites with Flask, which was something that I specifically wanted to know how to do. as a teaching aid, however, it's seriously hamstrung by the strange ordering of Python fundamentals (compare CodeAcademy's and Python Crash Course's presentation order of more or less similar material—for instance, dictionaries aren't introduced until 140 pages in), Shaw's obnoxious tone throughout, and his borderline useless type-this-and-shut-up pedagogy.
if I had had only this book available, I think it is fair to say I would not have gotten past the point of absolute Python beginner—it requires some other sources so that you can loop back around pick up what Shaw doesn't mention in the book, although in conjunction with those other sources I mentioned, I found it to have some use
An excellent intro to Python programming. I use this to teach my students intro programming to lead onto my other courses in hardware design. Those courses are built on top of Nisan and Shocken's program that requires minimal programming skills in order to make the leap into building a computer from scratch. One of the most important things LPTHW teaches is that just as you cannot learn to ride a bike by reading about it, you cannot learn to program without actually keying in the programs and seeing them work.
Finished is a bit inaccurate here as I'll be returning to this book again and again. Not only is it a great learning tool it's also an excellent reference when I get stuck. Yes when, not if. Also, I didn't manage to get further than the beginning of classes and such but that has more to do with my ability with Python than the book so doesn't impact my rating. I have, though, got a lot further with this than any other resource I've tried so hats off to the author. A definite add to favourites.
Yes, it is a good book for a program beginner. And the author is quite humors. But sometimes, he will leave you some questions without answers. You need to search it online. Although we can learn more from online materials, I still think it is waste of time sometimes. Maybe I just dislike this teaching style.
Not so much a book about Python as it is a book about learning to program. I often point new programmers to this book. It's not complete, but Zed wrote this knowing that the Internet is a thing and people that want to be programmers should utilize it (because StackOverflow will be your friend forever). This book gives you homework.
Author had a condescending attitude. Outside of that turnoff, the sections on testing were unusable later in the book. Nose2 is not compatible with Nose. Nose (1) did not install on my rather vanilla Macbook Pro. I did figure out how to use Nose2 for some of the unit tests but it was a bit frustrating.
Same thing everyone says, it’s good until OOP and it’s just trash from there. I switched to crash course for python after that. He even shits on inheritance pretty hardcore, and it seems dubious at best.
The first section is 10/10, and is really good at learning fast. It’s real effect there, so would be 3.5 stars but I guess I do grade inflation.
I think this is the best way to learn programming without any prior knowledge of it. I wouldn't recommend it to experienced non-Python programmers learning Python, though. The book is really aimed at making the learner grasp programming for the first time.
A really great book in order to get started with programming. You use editors, UNIX commands and learn how to type symbols by using them when you type code.