learning python the "best" way... (end of year overview)
At the PDX Code Guild, which has a Monday night Flying Circus event, which I've been frequenting -- though not in the last five weeks as my teaching gig was Mon / Weds -- I hear quite a few geeks say they've been studying Learning Python the Hard Way by Zed Shaw. I finally took a look at the on-line version yesterday and notice he's very adamant about learning 2.7, not 3.x. Disappointing. Maybe he's working on the 3.x version. Zed does give a lot of fabulous advice about techniques for learning, emphasizing the importance of the hands-on practicum. Just watching videos gives only casual knowledge. To get it in your bones, you need to write code, learn by doing. He also talks about the importance of sleep and even dreams when it comes to gaining new skills. "Day dream and doodle in code" is advice I give my own students. I also encourage writing deliberately "demented" code when learning, to focus on corner cases. Update about me: In addition to teaching Python to adults (night school gig), I'm an instructor- -in-training with Coding With Kids (CwK), which provides right-after-school coding classes, with one Chromebook per child (work is saved in the cloud). Working with kids means diving into Scratch again, as our Python students tend to come with a Scratch background (what CwK uses with the younger kids, not that adults can't have fun with Scratch; it's quite engaging as many on edu-sig already well know. A path I'd recommend (one of many): Mark Pilgrim's Dive Into Python 3 http://www.diveintopython3.net/ Allen Downey's Think Python (2nd edition) http://greenteapress.com/wp/think-python-2e/ John Zelle's excellent book is out in a 3rd edition: http://mcsp.wartburg.edu/zelle/python/ for beginner to intermediate, followed by Luciano Ramahlo's Fluent Python for more advanced concepts (e.g. coroutines and asyncio). I introduce Jupyter Notebooks pretty early when working with adults. Then it's time to branch out into more specialized interests i.e. knowledge domains e.g. mathematics with Amit Saha or Peter Farell, or Litvins (I've got math stuff online, some of it even more specialized to spatial geometry meaning lots of Visual Python). Or physics, or bioinformatics, or stats or web apps or... Pymunk sure looks fun. Geeks coming through Flying Circus on Mondays are into all kinds of weird things; I've missed being at the meetups. I'm going to a Hanukkah Party this Monday now that my night gig is over until January, then lets hope I get to Flying Circus again the day after Christmas. Happy New Year everyone. Kirby Urner 4Dsolutions.net /ocn/cp4e.html
On 12/14/2016 10:53 AM, kirby urner wrote:
At the PDX Code Guild, which has a Monday night Flying Circus event, which I've been frequenting -- though not in the last five weeks as my teaching gig was Mon / Weds -- I hear quite a few geeks say they've been studying Learning Python the Hard Way by Zed Shaw.
I finally took a look at the on-line version yesterday and notice he's very adamant about learning 2.7, not 3.x. Disappointing. Maybe he's working on the 3.x version.
Ah... you seem to have missed the entertainment on Reddit and HN back in November ;) https://learnpythonthehardway.org/book/nopython3.html "THERE IS A HIGH PROBABILITY THAT PYTHON 3 IS SUCH A FAILURE IT WILL KILL PYTHON" https://zedshaw.com/2016/11/24/the-end-of-coder-influence/ There are any number of threads & blogs on various sites (Reddit, HN, etc.) addressing / rebutting his comments. On the one hand... I kind of agree with him, that it sure seems like it would have been a better design decision to have made the Py3 VM seamlessly handle Py2 code. Other languages have done it to various degrees. Lord knows it's been a major schism in the community for way too long. That said... I personally don't care for his way of addressing the topic... but thats just me. He's certainly free to say what he wants. It does somewhat raise the question of whether his material is a good example to put forth for people new to the community.
On Wed, Dec 14, 2016 at 6:04 PM, memilanuk <memilanuk@gmail.com> wrote:
I finally took a look at the on-line version
yesterday and notice he's very adamant about learning 2.7, not 3.x. Disappointing. Maybe he's working on the 3.x version.
Ah... you seem to have missed the entertainment on Reddit and HN back in November ;)
Yeah I missed that entirely, so much else going on in November. ;-D I've been doing a lot more study of the JavaScript culture and the changes there are much bigger. Instead of from __future__ import and backporting, they use transpilers to write in ES6 but compile to ES5 -- not news to many here. That just goes with the job. The eagerness for more Pythonic syntax [1] seems great. The stress levels are high. There's much to like about Zed's approach, and nothing stopping it from being used with Py3. At O'Reilly School, now closed, we advocated an approach similar to Zed's but used 3.x -- I only wish we updated our version more frequently.[2] It'll take some time for 2.x developers to realize their in the same pickle as the rest of us: technology continues to evolve, if not in their shop, then in the shop down the street. Python is a moving target. If one has a comfortable job using 2.x, I understand a "why rock the boat" attitude. A lot of the new people flooding in don't have the same attitude though. An ancient pattern. History repeats (but never exactly). Kirby [1] https://goo.gl/trT840 # ye old Github Jupyter NB on nbview comparing Python with ES6 [2] http://archive.oreilly.com/oreillyschool/courses/courses.html#course_id_158
participants (2)
-
kirby urner
-
memilanuk