http://www.perlmonks.org?node_id=508144


in reply to Teaching Children How to Program

My 10-year old has been on me to teach him how to program for a while. After an abortive attempt to start with logic and flowcharts, I've decided to use a language that provides instant feedback. I want to use Lisp. I may choose to use Ruby, but I'm pretty sure it will be Common Lisp. Reason? I want my son to think logically before procedurally or OO-lly. I want him to design bottom-up instead of top-down, which is what the procedural languages practically demand that the programmer do.

What I do know is that you have to spend time on the editor as well as the language. If the programmer has to fight the editor just to get hello_world.* to work, then the programmer will associate programming with frustration. That's bad.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?