7 ms·
Learn Python 3 the Hard Way
- Walkman 9y agoIn that particular article, there were a lot of "alternative facts" (basically a lot of things that were simply not True), written in a subjective, aggressive manner. That's why it was bashed not because "somebody did not like him".
- libeclipse 9y agoYou should start a patron page. I feel that a significant number of people would be willing to support the work you do, and this would allow you to both keep your education free while earning from it. Just my two cents.
- dacox 9y agoI have multiple years of experience writing production Python code - is this book for me(new to 3)? Or is it more generally aimed at new programmers. Cheers!
- kartD 9y agoIt's for people who can't code
- brianwawok 9y agoYou will not gain anything from it.
- monochromatic 9y agoFound the PSF member. (Kidding, kidding.)
- pfooti 9y agoI learned python 2 by reading an earlier version of the book. I already knew how to program in general (20+ years experience), and the book was a little basic. Still, as an intro to a language (I was new to python entirely) it was worthwhile. I also like the author's writing style. I was going to say that they're free (or pay what you want), but that's apparently no longer the case (or won't be as of tomorrow). I support the author in this decision, but I guess you have 12 hours to skim the book and see if it's worthwhile and then buy it if you like what you see.
- Splendor 9y agoIn your case I would recommend Effective Python and/or Fluent Python if you haven't read those.
- lettuce 9y agoFluent Python is a great book. I found Luciano Ramalho's writing style very easy to follow and his knowledge of Python is extensive. Looks like Effective Python should be next on my reading list!
- slewis 9y agoThe Python Language Reference is pretty good if you're already experienced: https://docs.python.org/3.6/reference/index.html https://docs.python.org/3.6/reference/index.html
- msla 9y agoIt's for people learning how to program for the very first time, to the point they need to be told to enter code into a text editor as opposed to, say, Microsoft Word. Or whatever Microsoft is calling its Word Processing Software Tool Universe For Non-Programmers this week. (Yes, it might well be possible to coerce Microsoft Word into emitting plain text. The book does not assume its readers know that.) From what I recall, the author is very opinionated in that he does things one way and expects readers to follow along exactly. The readership is at a level where this is a good thing: If you introduce options, people who know absolutely nothing get paralyzed by them, because they have no basis for making those kinds of decisions yet. It would be better if they flipped a coin, most likely, but most people seem reluctant to do that, because utter beginners are irrationally afraid of damaging things. So the author has made all the decisions for them, and can get them to the point where they know enough to disagree.
- msla 9y agoBecause I don't think I can edit posts yet, this blog post of the author's is very useful in gauging where the books assume their readers are at: https://zedshaw.com/2015/06/16/early-vs-beginning-coders/ https://zedshaw.com/2015/06/16/early-vs-beginning-coders/ Quotes: > When I was working on Learn Python The Hard Way I was frustrated by how often I’d have to explain that the book is for a total beginner. [snip] > What I propose is we have beginning coders and early coders. I got this idea from a painting teacher who kept referring to students who had never painted as “beginners”, but those who had painted for about one class as “early”. The reasoning is that you need a way to differentiate people who don’t know a damn thing vs. people who know the basics but just simply suck at them. Teaching a beginner is very different from teaching someone who’s already been doing it for a bit and just needs more training. > For example, a beginning coder doesn’t know how to type the | (pipe) character. They don’t even know it’s called a “pipe”. I’m not joking about this. Professionals actually don’t believe me when I tell them this, but it’s true. Beginners have zero experience so simple things like making a text file, opening terminal, and even the idea that you can type words at a computer and it will do stuff, are simply unknown to them. To teach a beginner effectively requires this level of information slowly fed to them in reasonable chunks.
- phren0logy 9y ago> Since I released the book in 2010 I have given it freely to about 12.5 million people. Amazing, what an achievement! > Before my books there was this general belief in computing that only “special” people could learn to code, and that it was pointless to teach anyone who didn’t start when they were 12. ... Before I wrote Learn Python The Hard Way programming education books either patronizingly assumed you were a child, or assumed you’d already been programming for years. Hmm, I don't think this book was as revolutionary as described, but that doesn't take anything away from how good Learn Python the Hard Way is. > Then I recently found out that members of the Python Software Foundation (PSF) have been actively trying to have my book removed from other books and websites. I received several chats logs from trusted associates that show PSF members contacting authors and demanding that they stop referencing my books. Believe it or not, it’s because I said Python 3’s strings suck or that Python 3 sucks. I’m not kidding. They are so petty that they are actively trying to destroy the one book that is potentially helping the most people become Python programmers simply because…I don’t like how they implemented Python 3. WWWWHHHHAAAATTTT???!! If this is true, the Python Software Foundation should be ashamed.
- jachee 9y agoRe: PSF: Agreed. The good news is that the author will be compensated for this work. Sadly it makes me, personally, regret my time investment and trust in python.
- yladiz 9y agoI'm curious what proof the author has about this. Is there actual proof that the PSF is trying to undermine his work?
- robertlagrant 9y ago@jachee there were many issues with LPTHW, despite its cool branding. Here's a list compiled by some who had to repeatedly walk people who used it through the many problems it introduced to their learning process: https://sopython.com/wiki/LPTHW_Complaints https://sopython.com/wiki/LPTHW_Complaints I hope you carry on with Python!
- 9y ago
- culiuniversal 9y agoLearn Python the Hard Way was one of the first ways I tried to learn programming. It didn't end up working for me. It focuses on repetition rather than a conceptual understanding of what you're doing. But when I finally took a class and realized what I had been doing with all that practice I came to really appreciate how comprehensive it is. I won't use it myself, but I'm glad that something like Learn Python the Hard Way exists
- rz2k 9y agoI had the same experience, and thought it was the opposite of what the title implied. Rather than being more work up front for much easier progress, it seemed like a lot of easy typing things you don't understand and therefore making slow progress. However, I generally prefer learning concepts first, with practical application later, so it could have just been a personal preference.
- mplewis 9y agoPeople wanted LPTHW removed from beginner programming resource lists because Zed actively spreads misinformation about Python 3. He writes condescending articles that confuse and mislead newcomers to the language. From his redaction: > In the previous version I trolled people by pointing out that, if what the Python project says is true and it would have been "impossible" to support Python 2, then they broke it and Python 3 is not turing complete. Obviously Python 3 is turing complete, but Python project members frequently claim something this basic is "impossible" soooooooooooo alright. I even had a note after the gag saying it was a gag, but everyone is too stupid to read that note even when they do elaborate responses to my writing. Check out the past HN discussion on his article, "The Case Against Python 3": https://news.ycombinator.com/item?id=13019819 https://news.ycombinator.com/item?id=13019819
- StavrosK 9y agoReading the article, I was a bit disappointed that people were trying to pull the book, but reading your comment I remembered how much I had to argue for Python 3 with a friend who was just starting to learn programming and was reading LPTHW because I had suggested it after hearing it is a good book. The book apparently said that Python 3 sucks, that people shouldn't learn it, and that "if someone tells you to use Python 3, tell them you'll use it when all their code is in Python 3", which is just absurd. It was very harmful, because Python 3 is definitely where the community is, and 2's days are numbered. That part may have been true back when it was written, but it's definitely not true today, and all it does is fan the flames of discord.
- andrewstuart 9y agoPlease everyone put down their fists and let the war finish. It's all good. We all agree to program with Python 3 and educate beginners on Python 3. Just forget the past and move on - Zed is on the Python 3 boat now and that's all that matters. Indeed it makes a great deal of sense to not just end the conflict but go the other way - the Python community should simply ignore the past and do everything it can to welcome and include and bring Zed into the Python 3 community, to the extent that he wants that.
- 9y ago
- andrewstuart 9y agoIt's nice to see Zed on board with Python 3 - I know he has been a strong advocate against it for a long time but it would be really silly for people to hold that against Zed or his books into the future. Zed Shaw educates ALOT of beginners about Python. Everyone should be both glad and supportive that his education is now in the Python 3 world. Time for everyone to leave the angst of Python 2 behind. I can no longer think of any prominent industry figure who stands openly against Python 3. With no well known industry figures standing openly against Python 3, I think the long and painful transition can now be said to be complete. Finished. Certainly much Python 2 code still exists but conceptually Python 2 is now legacy. Thanks to Zed for his work on the Python 3 book.
- badloginagain 9y agoI started with LPTHW. Like literally did not know what a string was started. I remember the part of the book recommending to use 2 until 3 was as complete. I remember not caring either way. Beginners do not care about Python versions. They're trying to figure out why their string won't print, running into bugs like: 'I'm printing a string' and being _stumped_. These people are not going to be contributing to Python3 migration, they're just not there yet. And if people are running production grade applications are listening to Zed? Well, good luck to 'em.
- hprotagonist 9y ago>Zed Shaw educates ALOT of beginners about Python. Everyone should be both glad and supportive that his education is now in the Python 3 world. That entirely depends on the quality of the instruction. Last time this came around, he was willfully misrepresenting the difference between "str" and "bytes" specifically to gripe about how used to python 2's broken implementation he was. That's not helping.
- LyndsySimon 9y ago> I know he has been a strong advocate against it for a long time but it would be really silly for people to hold that against Zed or his books into the future. Opinions are opinions. This isn't about opinions; it's about behavior.
- deedree 9y agoCan anybody explain to me why, every time Zed Shaw writes something, flamewars emerge? Even here on HN which is one of the most courteous comment sites on the web I know off, has so many deriding comments within in minutes.
- dragonwriter 9y ago> Can anybody explain to me why, every time Zed Shaw writes something, flamewars emerge? Because Zed Shaw often writes things that are both (deliberately, AFAICT) inflammatory and about something which has a large interested community.
- threatofrain 9y agoZed Shaw used his public position to say that Python core developers were of low character and competency. When reading this article, I don't see how his position has changed.
- wyldfire 9y ago> Starting July 8th, 2017 both my Python 2 and Python 3 books will be no longer free to read. Now who's being petty? Sounds like you are retconning in a story about exclusively-commercial-book-titles-bring-maximum-community-benefit. O'Reilly and other publishers have offered paper editions of freely-distributable books.
- dragonwriter 9y ago> Before my books there was this general belief in computing that only “special” people could learn to code, and that it was pointless to teach anyone who didn’t start when they were 12. AFAICT, this is not only not all that true (teaching adults to code, and the belief that they could be successful, was not a novel when LPTHW was introduced, though some people certainly thought the way Shaw describes; I mean, schools have been taking people without programming backgrounds as CS majors forever, and there have been adult-targeted self-learning introductory resources, books and otherwise, for programming continuously since the 1980s, probably earlier), but LPTHW has not been associated with any substantial change in general attitudes on this point. While it wasn't then and isn't now then general attitude, people still—and AFAICT in roughly similar proportions—buy into the idea of the “from childhood” coder being inherently superior.
- dtornabene 9y agoIts downright delusional to believe that he in anyway is somehow responsible for a sea change in cs/programming education. I read that blog post eyes wide jaw slack. Moreover, I'm curious where he came up with the millions of users who "learned" via his books?
- influx 9y agoZed, you deserve to get paid for the work you are doing, and I appreciate that you've given it way for so long. Just be up front about it, don't bring the PSF into this. Just own it. That said, I wish you had given more notice than a day.
- kemonocode 9y agoAgreed. Wanting to get money is fine, wanting to get money out of something that was (mostly) free for the longest is sort of contemptible but he's in his right to do so. However, I've never liked much at all his attitude towards the PSF, and these so-called demands from them reek of bullshit.
- meddlepal 9y agoAwesome! LPTHW is my go to recommendation for introducing folks to programming and Python. Also I really like his abrasive opinion writing style. It's very effective at getting people talking even if it is rather crude.
- coldtea 9y agoGod forbid anybody on the internet has his own opinions AND writes them in a non-corporate strong/humorous language. And God forbid anybody calls the Python 2 to 3 transition (which took 7 years and is still underway -- not even 50% done) for the actual mess it has been.
- xapata 9y ago> actual mess Doesn't seem that bad to me. Py3k was released and folks waited for the hobbyists to iron out the quirks. A few years later the libraries started supporting it. A few years later the forward-thinking companies have started switching. That's a normal software upgrade timeline. Heck, the other day I found out a new client is still running Windows 97.
- 6581 9y ago> I realized that I’m now sending beginners into a community that actively ostracizes and punishes anyone who dissents against the decisions of the PSF members. I simply can’t support the PSF anymore given these actions, and I can’t send them new people if this is how they treat anyone disagreeing with them. > At that point the decision became much clearer. If I charge for my Python books I can help even more people and also give people real jobs working for me. He doesn't want to "send" any more people into the community, so he now charges for his books. What exactly is the connection there? How does charging for the books change anything? Does he assume charging for them sends less people to the community than before? If that's his goal, why doesn't he stop publishing his books completely?
- oliwarner 9y agoI've recommended LPTHW before. I actually liked Zed's tone. It's nice to see a technical opinion when you're learning things so you pick up best practices or at least see justifications so you know how to form your own. But seeing Zed's acerbity applied to a non-technical narrative makes it all just seems petty and toxic. I'm not going to wait for this to "play out" as some suggest. He's embedding this anti-establishment dribble into an introductory learning text, as he did for the first and I'm fed up of meeting developers who parrot his flawed feelings on the inadequacies of Python 3. He says he's helped 12 million people with LPTHWv2... but in this day and age, taking a idealistic stand against Python 3 makes you a worse developer and would certainly count against you I were interviewing you. Professionally speaking, there's just too much to be had from Python 3.5+ to avoid it. I won't recommend LPTHW again.
- libeclipse 9y agoLove how everyone's getting themselves butthurt about Zed's opinion on a language. We all hated python3 at one point.
- BrandoElFollito 9y agoI did not. I started with Python 2 around 2009 (coming from a C and Perl background) and was surprised how backward string formatting is, and how unicode is messed up. Then I started with Python 3 and was relieved to find named .format() parameters and bytes (vs. str). This is just an example - Python 3 is a very positive evolution. (and yes, I read the arguments of the other (mistaken :)) group who advocates Python 2)
- Dowwie 9y agoI couldn't imagine the cognitive dissonance he faced while working on this updated volume. He may have found some comfort in using Foo and Bar, though.
- misingnoglic 9y agoThis guy has such an ego problem. I'd hope that the PSF would actively ask people to stop linking to learn python the hard way, when it's teaching a version of the language that's over ten years old (and it's far from the only resource). The book has the benefit of having a catchy name that people can easily recommend, but that's about it. This guy really needs to get off his high horse, I'm even considering writing my own book just to compete with him.