On Wed, Jun 12, 2013 at 1:02 PM, Chris Angelico <ros...@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/
-- http://mail.python.org/mailman/listinfo/python-list