
Learn Python 3 the Hard Way - alrs
https://blog.learncodethehardway.com/2017/07/07/learn-python-3-the-hard-way-officially-released/
======
mplewis
People 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)

~~~
andrewstuart
Please 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.

~~~
jrwiegand
100% agree with this in general and specifically. People tend to get too hung
up on issues that are over. Zed has moved on and so should everyone else.

~~~
x0x0
Writing an article that _very charitably_ wildly misrepresents events while
leveling accusations at the PSF is not moving on.

I've recommended LPTHW to several new programmers, including one who I think
bought the videos and really liked it.

Nonetheless, his strange dislike for python3 and continuing this flame war is
not helping anyone, least of all Zed.

------
phren0logy
> 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.

~~~
scrollaway
> _If this is true, the Python Software Foundation should be ashamed._

It's true and seriously misleading.

He's edited it a lot since (and even toned down its title), but the blog post
he wrote against Python 3 was a FUD-filled incoherent piece.

You can absolutely expect members of the Python community to be disappointed.
A lot of those members are people who learned from Shaw and to see him write a
piece like that is heartbreaking.

The people on /r/Python who called for the removal of links to his resources
(because yeah, it's not the PSF actively seeking out websites, it's the
websites' members wanting him gone), those people were not "out for
vengeance", they were not willing to link to material which actively
campaigned against where the community was moving to.

He may be trying to position himself as one, but Zed Shaw was not a voice of
reason who would point out the Python 3 flaws which nobody else dared
criticize. _Plenty of others_ criticized Python 3. Zed was actually trying to
harm the move to it.

Congrats on the book, and I'm glad he changed his mind, but I have no sympathy
to his complaints there.

PS: This is what happened to processing durations when I upgraded our
Hearthstone log parsing pipeline from Python 2.7 to Python 3.6 after Amazon
finally made the latter available on AWS Lambda:
[https://twitter.com/Adys/status/878985322436206592](https://twitter.com/Adys/status/878985322436206592)

~~~
kartD
Your last point is slightly misleading, you're comparing Python 3.6 (2016ish)
with Python 2.7(2008), it better be faster

~~~
orf
It's actually comparing 2.7.12 (2016) with 3.6 (2016).

Not that the release date has much to do with the benchmark, mind you...

~~~
kartD
Hardly matters since 2.7.xx are all maintenance releases and practically no
features or performance improvements

~~~
orf
Which is exactly why it's ok and not unfair to compare the performance
improvements over time of Python 3.6 versus Python 2.7?

------
andrewstuart
It'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
I 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.

------
dragonwriter
> 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
Its 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?

------
culiuniversal
Learn 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
I 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.

------
wyldfire
> 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.

------
coldtea
God 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
> 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
> 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?

------
meddlepal
Awesome! 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.

------
misingnoglic
This 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.

------
oliwarner
I'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
You 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
I 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!

~~~
brianwawok
You will not gain anything from it.

------
libeclipse
Love how everyone's getting themselves butthurt about Zed's opinion on a
language. We all hated python3 at one point.

~~~
BrandoElFollito
I 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)

------
Walkman
In 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".

------
influx
Zed, 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
Agreed. 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.

------
deedree
Can 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
> 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.

------
Dowwie
I 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.

