My son wants me to teach him Python

TP wingusr at gmail.com
Thu Jun 13 04:35:08 EDT 2013


On Wed, Jun 12, 2013 at 1:02 PM, Chris Angelico <rosuav at gmail.com> wrote:

> I put the question to the
> list, and got back a number of excellent and most useful answers
> regarding book recommendations, and we ended up going with (if memory
> serves me) Think Python [1]
>

Here's a link [1] to Chris' original question (and the following answers
including mine which mentioned Think Python).

Chris' requirements were slightly different. In your case "Python for Kids
- A Playful Introduction to Programming" [2] might be more appropriate as a
first book. Despite the title it covers a wide range of topics
*specifically geared towards writing a game in Python*. See the detailed
table of contents to help decide.

Also Chris has an "unnatural" abhorrence of Python 2.7 :) --- at least as
far as learning Python books. As such he dismissed too early what I think
might be a great initial (or 2nd) book, Hello Python [3]. To requote the
Preface which resonates at least with me:

    "I thought back to how I first learned to program. I didn't read an
    entire programming book from cover to cover and then write a program
    after I knew everything there was to know. Instead I started with a
    goal, something that I wanted to do, and worked toward it, figuring
    things out as I went. I read programming books from time to time,
    but really only to figure out the bits I was stuck on. When I was
    done, my programs weren't particularly elegant or fast, but they
    were mine---I knew how they worked, and they solved a real problem
    that I was having."

Some chapter titles include "Gaming with Pyglet", "Twisted Networking"
(which implements a MUD), and "Django" so it covers quite a bit of ground.
Again see the detailed table of contents.

Notice that the subtitle for Think Python [4] is "How to Think Like a
Computer Scientist" which is not every beginning programmer's goal. Yes,
Think Python is free, and yes it's probably quite good, but it's not for
everyone. In particular the presentation is a lot drier than the above
mentioned books.

Somewhat offtopic but mentioned in the thread: Here's what Elliotte Rusty
Harold had to say about Java Console IO in Java I/O, 2nd Edition (OReilly,
2006) which I recently read while helping somewith with their college Java
(yuck!) homework:

    Many common misconceptions about I/O occur because most programmers'
    first exposure to I/O is through the console. The console is
    convenient for quick hacks and toy examples commonly found in
    textbooks, and I will use it for that in this book, but it's really
    a very unusual source of input and destination for output, and good
    Java programs avoid it. It behaves almost, but not completely,
    unlike anything else you'd want to read from or write to. While
    consoles make convenient examples in programming texts like this
    one, they're a horrible user interface and really have little place
    in modern programs. Users are more comfortable with a well-designed
    GUI. Furthermore, the console is unreliable across platforms. Many
    smaller devices such as Palm Pilots and cell phones have no
    console. Web browsers running applets sometimes provide a console
    that can be used for output. However, this is hidden by default,
    normally cannot be used for input, and is not available in all
    browsers on all platforms.

Yikes, a bit opinionated isn't he? Reminds me of some people on this list :)

Finally, regarding sneering at HTML/Javascript. While I've never used the
technology, HTML5/Javascript has the Canvas and possibly WebGL. I've
noticed all sorts of new books on the topic, for example:

    Core HTML5 Canvas  Graphics, Animation, and Game Development (Prentice
Hall, 2012)

    HTML5 Games Development by Example - Beginner's Guide (Packt, 2011)

    HTML5 Games Most Wanted (Friends of Ed, 2012)

    Supercharged JavaScript Graphics - With HTML5 Canvas, jQuery, and More
(O'Reilly, 2011)

    HTML5 Graphics and Data Visualization Cookbook (Packt, 2012)

This in fact "may" be/is the future of graphics programming (at least in
terms of # of apps written)? And TypeScript [5] "may" make using javascript
(under the hood) less objectionable.

I still agree with your overall approach, learn programming via Python
first --- not for god's sake Java, which colleges still think is the bee's
knees :). But realize that it's only one tool in the programmer's toolkit
and you'll eventually have to learn many languages.

[1] http://mail.python.org/pipermail/python-list/2013-May/646208.html

[2] http://nostarch.com/pythonforkids

[3] http://www.manning.com/briggs/

[4] http://www.greenteapress.com/thinkpython/thinkpython.html

[5] http://www.typescriptlang.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130613/800ca0f3/attachment.html>


More information about the Python-list mailing list