Before buying this book I heard about LPTHW and the "controversy" around...
but obviously this is the internet and everyone is entitled say whatever they want so I didnt took them seriously.
Before reading this book, I've read some C++ concepts in the past (couples of years before) but they were simple as: types, functions, statements.. so nothing complicated, but I went thru this book with a tiny bit of knowledge..
At the beginning of the book I was amazed at how much fun I has having and how much better I was starting to understand those concepts (that I was already familiar with).
The way the book is structured its extremely good: making your hands dirty immediately it's really the right thing to do for a beginner.
It may be obvious for some one but wasn't for me, the fact that you should type everything you see and make it work on your own, and then read and check what is happening. Then type again and again and eventually, even if you don't REALLY understand the DEEPER MEANING of everything, you are still a step further to getting closer.
So everything was going fine and I was eager to go to the next lesson...
Till chapter 43 when he introduces the Class/Object..
I honestly went back on it a couple of times but every time I felt that there was something different... somethings has changed from before... there was no more fun, no more understanding.. but just: DO IT AS I DO AND SHUT UP.
There was little room for exploration as he presented a semi-empty script with empty classes that you should fill as he would... oh and yea he just introduced you to what a class is like.. so good luck with that.
You pass from ITS A, HAS A type of explanation to complete an already started script of several different classes with subclasses and inherits.. wtf? I've felt like I jumped 2 chapters...
It was challenging? absolutely but it wasn't fun... it wasn't discovering new things... it was desperation of trying to solve this exercises because you know that classes are an important topic...
And from there, it just got worst...
At chapter 47 you are introduced to an another fundamental topic: TESTS.
So as usual you start typing and typing and installing modules, you will get excited of all of this new stuff you will learn about... but you will be WRONG... because as soon as you finish he says:
GO ON INTERNET AND FIND OUT HOW TO USE AND INSTALL EVERYTHING YOU JUST DID.....
W.T.F... it took me a day to find out in the nose manual that their syntax was the same as unittest but just spelled with the format snake_case...
As a beginner, and as I have never seen what an test/assert_equal is, I WOULD HAVE APPRECIATED A BIT OF EXPLANATION before sending me online..
I had to go online and search for OTHER people tutorial about something that I was suppose to learn in this book... WTF AGAIN...
And from here honestly I just lost interest... he doesn't show anymore the "what you should" see section so you are left on your own... If you don't understand: too bad... If you do understand but misunderstand also too bad... For me was harder trying to understand what HE will have me to do rather than the code itself...
At the end of the book you will do automatic tests of his text game and deploy it online so he introduces some HTML concepts but honestly I just didn't care anymore and never finished.. and here brings me the major flaw about zed in my opinion.
He states at the beginning that he doesn't want you to teach everything, but he wants you to be autonomous and be able to understand what to search bla bla... Ok! its a good mentality! But there is a problem.. programming concepts are so deep and so many (even for a subject alone).. that you NEED at least something information to start and only then LEAVE THE REST TO YOU if you want more info...
Again: if I have to leave the beginner's book to search other tutorials for beginners to understand what has written in my beginner's book... I think that the book failed to do part of his job...
I then IMMEDIATELY went to PYTHON CRASH COURSE and things just pop out like flowers in spring... and it was because of how zed open my view of how to take a programming book..
So I recommend this book even despite the BIG disappointment of the last chapters, because I truly think that this book teaches you the discipline that you will absolutely need to start every other book.. but be aware you will not become a expert programmer after just this book... buy this together with PYTHON CRASH COURSE and think of them as one lesson.. typing (LPTHW) and understanding (PCC)
Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code Paperback – Illustrated, 27 June 2017
by
Zed Shaw
(Author)
See all formats and editions
Hide other formats and editions
Amazon Price
|
New from | Used from |
Paperback, Illustrated
""
|
S$43.53
|
S$41.37 | — |
FREE delivery:
Thursday, 11 March
Details
Fastest delivery:
Wednesday, 10 March
Order within 22 hrs and 45 mins Details
Order within 22 hrs and 45 mins Details
Frequently bought together
Customers who viewed this item also viewed
Page 1 of 1 Start overPage 1 of 1
- Python Crash Course (2nd Edition): A Hands-On, Project-Based Introduction to ProgrammingEric MatthesPaperback
- Python for Data Analysis, 2e: Data Wrangling with Pandas, Numpy, and IpythonWes MckinneyPaperback
- Learn More Python 3 the Hard Way: The Next Step for New Python ProgrammersZed ShawPaperback
- Deep Learning with PythonFrancois CholletPaperback
- Python All–in–One For DummiesJohn ShovicPaperback
- Automate The Boring Stuff With Python, 2nd Edition: Practical Programming for Total BeginnersAl SweigartPaperback
Product details
- Language : English
- Paperback : 320 pages
- ISBN-10 : 0134692888
- ISBN-13 : 978-0134692883
-
Best Sellers Rank:
14,824 in Books (See Top 100 in Books)
- 29 in Web Development
- 68 in Programming Languages
- 155 in Computer Science
- Customer reviews:
Product description
About the Author
Zed A. Shaw is the author of the popular online books Learn Python the Hard Way, Learn Ruby the Hard Way, and Learn C the Hard Way. He is also the creator of several open source software projects and has been programming and writing for nearly 20 years. Most of his free time is devoted to the study of painting and art history.
![]() |
![]() |
![]() |
![]() |
![]() |
|
---|---|---|---|---|---|
A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code | The Next Step for New Python Programmers | Quickly Get Productive with Python | Become a Python Programmer and Have Fun Doing It | The Hands-On, Example-Rich Introduction to Pandas Data Analysis in Python | |
User Experience Level | New to programming and/or Python | Perfect for everyone who’s already started working with Python, including junior developers and seasoned Python programmers upgrading to Python 3.6+ | Although this book is for people who may be new to programming altogether, it also caters to people who want to know how Python works and how it’s fundamentally different 'under the hood.' | For absolute beginners who’ve never written a line of code. | Any level of Python experience (none to fluent) New to data analysis. |
Learning Approach | You’ll learn Python by working through brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. | Hands-on - you’ll go far beyond the basics and learn how to analyze a concept, idea, or problem and then how to deisgn solutions by working through 52 crafted projects. Also includes access to 12 hours of video files. | Takes you by the hand and teaching by examples that are explained line by line. There is heavy emphasis on examples that are fun and useful, including games, graphics, database applications, file storage, puzzles, and more. You will learn how to think 'Pythonically' and avoid common 'gotchas'. | Friendly, easy, full-color. Each chapter will tell you a bit more about programming. It will show you how to do something, and then invite you to make something of your own by using what you’ve learned. | Introduces key concepts through simple but practical examples, incrementally building on them to solve more difficult, real-world problems. Brings together practical knowledge and insight for solving real problems with Pandas, even if you’re new to Python data analysis. |
Key Topics | Organizing and writing code; Object-orinted programming; Basic game development; Basic web development | Quick hacks; Data structures; Parsing text; SQL and object relational mapping | In addition to Python fundamentals, this book pays a lot of attention to intermediate and even advanced features, including list comprehension, generators, multidimensional lists (matrixes), and decorators. | Programming fundamentals Advanced programming Useful Python | "Tidy" data; Cleaning and munging data; How to fit your data to models ; Fitting models in other languages |
Python Versions Covered | Python 3 | Python 3.6 | Python 3.0 with notes about adapting examples to Python 2.0. | Python 2.7 Python 3 | Python 3 (Anaconda) |
Customers who bought this item also bought
Page 1 of 1 Start overPage 1 of 1
No customer reviews
5.0 out of 5 stars
5 out of 5
1 customer rating
5 star 100% (100%) |
|
100% |
4 star 0% (0%) |
|
0% |
3 star 0% (0%) |
|
0% |
2 star 0% (0%) |
|
0% |
1 star 0% (0%) |
|
0% |
How are ratings calculated?
To calculate the overall star rating and percentage breakdown by star, we do not use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
There are 0 customer reviews and 1 customer rating.
Most helpful customer reviews on Amazon.com
Amazon.com:
3.5 out of 5 stars
97 reviews

Adina B.
4.0 out of 5 stars
At the beginning of the book I was amazed at how much fun I has having...
9 April 2018 -
Published on Amazon.comVerified Purchase
148 people found this helpful

Geoff Moraes
1.0 out of 5 stars
Learning Python is easy; teaching it is hard.
3 January 2019 -
Published on Amazon.comVerified Purchase
I bought this book to learn python and was intrigued by what would be "the hard way". I watched the accompanying videos first. The initial "setup" lessons gave me an idea of what to expect.
In the Linux setup video, you hear the author saying "As you can see Linux is a real pain, especially Debian". In the Windows setup video he says "Powershell ISE is useless. It doesn't work. It's missing all kinds of stuff."
Well, if you struggle to use a Linux distribution like Debian, and consider Powershell ISE to be useless, then "teaching" Python is going to be hard, and hence the appropriate title.
In the Linux setup video, you hear the author saying "As you can see Linux is a real pain, especially Debian". In the Windows setup video he says "Powershell ISE is useless. It doesn't work. It's missing all kinds of stuff."
Well, if you struggle to use a Linux distribution like Debian, and consider Powershell ISE to be useless, then "teaching" Python is going to be hard, and hence the appropriate title.
36 people found this helpful

Dick Dowdell
5.0 out of 5 stars
This is the best how-to learn a programming language book I've used
20 March 2018 -
Published on Amazon.comVerified Purchase
I've been a software developer for over 40 years and this is the best how-to learn programming book I've come upon. Over the years I've taught myself COBOL. IBM 360/370 BAL, C, Pascal, C++, SQL, Java, and JavaScript. Mr. Shaw clearly shows that he understands how programmers learn. I liked the book so much, I'm using it to teach 2 of my grandsons how to code with Python 3. I'd recommend this book to anyone, novice or experienced, who wished to learn Python.
41 people found this helpful

DQ
4.0 out of 5 stars
When it says "the Hard Way," read, "the Right Way."
30 August 2018 -
Published on Amazon.comVerified Purchase
Shaw's "hard way" is the way that I learned to code as an 8-year-old in the early '90s, and the way that my dad learned to code in the '70s. It means that you type in code, character-by-character, from what is printed in the book, not necessarily fully understanding what it's going to do or why. Then, once you have it working, there is an explanation of how the code works. Basically rote memorization drills paired with learning the associated concepts. It can be tedious at times, but it works well.
This book is absolutely appropriate for someone with no coding experience. Someone who has learned a language before will probably already be familiar with many of the concepts, but it's still ok if you are willing to tolerate a little bit that.
The drawback for me is that a big portion of the book has you writing small Zork-style games in order to practice the skills that you're learning. It's just not something that I am interested in at all, and I've had a little bit of trouble pushing my way through that stuff.
This book is absolutely appropriate for someone with no coding experience. Someone who has learned a language before will probably already be familiar with many of the concepts, but it's still ok if you are willing to tolerate a little bit that.
The drawback for me is that a big portion of the book has you writing small Zork-style games in order to practice the skills that you're learning. It's just not something that I am interested in at all, and I've had a little bit of trouble pushing my way through that stuff.
27 people found this helpful

Amazon Customer
1.0 out of 5 stars
NOT FOR BEGINNERS
8 July 2019 -
Published on Amazon.comVerified Purchase
Calling this "the hard way" could not be a bigger understatement. I used to think I was a smart person until I got this book. I can not for the life of me understand why he does certain things, and it is extremely difficult to find answers. I do not recommend this book for beginners because you will want to slam your head into a wall. After 4 days and 15+ hours, it is time for me to burn this book and try to find a different resource.
13 people found this helpful