4 ms·
I think that most critical for new programmers is a nearly-immediate feedback (reward) loop. You should teach them something that will let them do something the
by cookiecaper 15y ago
I think that most critical for new programmers is a nearly-immediate feedback (reward) loop. You should teach them something that will let them do something they think is cool almost immediately and something that has enough utility that it can be deployed for real. As the programmer and a few others (family members, teachers, classmates) use that thing, the programmer will see the need for new things, make tweaks, and learn a lot about the environment in which he works.
HTML might be good in this regard. Everyone hold your horses -- I know HTML is not a real programming language (no variables, conditions, control structures, etc.), but HTML is easy enough to understand and can teach an individual about the rewards that lie in programming, and HTML is a vital skill for most prospective programmers -- let's face it that most people who want to be programmers are not fantasizing about a job in the basement of an insurance company writing business logic, but creating exposed, useful, and beautiful software for others to use and enjoy. In many modern cases this falls back to websites.
You'll be teaching the kid some of the basic principles (a bit of perspiration and study = pride and rewards) that keep programmers going. As you continue to nourish this principle with progressively advanced topics, ensuring that you are almost always making something at least vaguely useful, the new programmer will develop a passion for experimentation and learning that is absolutely required to be a decent programmer. From here, he'll probably take care of himself and use you only as a reference material when necessary.
- celer 15y agoOn your first paragraph, I agree completely. As a relatively new programmer this was what made me adore Python. On your second paragraph, I disagree. HTML doesn't have the immediate feedback of "I can write something that makes my life better" in the same way that, for example, Python does. Python lets you write something you can use for your benefit six months in. Something that will actually save you significant amounts of time in some cases. There is a power and a promise there that I don't see being matched in HTML. HTML is made firstly for others to view on browsers, while the first Python script you write can be done just to make your life easier. "Scratch your own itch." For your third paragraph, I am again in complete agreement as a relatively new(2nd year in high school) programmer.