First programming lessons
If our twins were old enough for me to teach them how to program now, then I would be teaching them Python. 15 years ago (has it really been that long?) when I was in college, I taught some of my friends how to program in C (yes, that parses both ways: I taught some of my friends how to program and I taught some of them C). But Python has a lot of advantages for teaching a beginner the fundamentals of programming.
I won’t teach the boys how to program so that they will become programmers–if they ultimately decide to become professional programmers, that will be their choice, not mine.
But in the same fashion that we will teach our children to read, write, and make music, I will also teach them the basics of programming. Programming is a useful mental exercise, and it can be directly useful in a number of jobs (science, web design, working with spreadsheets).
Python is powerful (as are all of the scripting languages) and easy to read. The complexity in Python isn’t in its syntax. As with other scripting languages, Python takes care of memory management for you. For teaching someone the concepts of programming, that is useful. For most non-professional programmers, that is a bonus as well.
Did you know that there is a version of Python available for Palm OS? It is called pippy. Unfortunately, the project doesn’t seem to be active at the moment, which is too bad. It would be nice to have a more complete (or at least better-documented) version of Python to play with on my PDA. Maybe I will work on it in my copious amounts of spare time (notice that we have twins, if you want the context for that statement).
My book, Palm and Treo Hacks should be coming out soon. I have checked the first set of page proofs and sent my comments back. As far as I know, that is the last writing-related thing I need to do before the book is published. Scott Berkun had some comments about writing and publishing a book in his blog. One of the comments I have been feeling the truth of recently is that publishing is a lot of hurry-up-and-wait. There is an explosion of busyness (getting chapters done, sending in figures) and then a period of active waiting. Palm and Treo Hacks is now listed on Powell’s web site, which is very cool.
– Scott