Hacker News new | ask | show | jobs
by zootar 5703 days ago
Kids can start programming a lot earlier if their introductory experience really minimizes frustration and time to gratification. Python is probably a good starting language for teenagers, but for pre-teens, who are much less cognitively mature, you'll have a lot more luck sooner if you introduce them to an IDE with great code completion and the power to make a GUI. Obvious candidates are Visual C# and Visual Basic, but I would strongly consider Adobe Flash as well. Children love making animations with Flash, and Flash's scripting language, ActionScript, has all of the features of a full-fledged programming language.

You can start even younger with HTML. HTML isn't programming, but it's relevant training for a developing brain. Balancing brackets, thinking logically, paying attention to detail, and the "write, run, debug" routine are all present when writing HTML.

My path to programming started when I discovered a copy of FrontPage Express (an old WYSIWYG HTML editor) installed on my computer. I quickly went from FrontPage, to HTML, to Flash/ActionScript, to Visual Basic, to C++. Obviously, that isn't the logical way for a teenager or an adult to learn programming, but for a child, it was incredibly natural.

2 comments

C#? My first intro to programming was logo, and im recommending it as a language for small children any chance i get. For older kids, ruby, python and (why not?) scheme are good choices. I remember the day my teachers replaced logo with pascal with dread. Don't do that. I lost interest in programming for about 2-3 years do to that, and had to rediscover my love with python much later.

But looking back, i believe languages don't mater that much, as long as the kid's having fun, you can have fun with C++ even, if it is introduced to you properly.

I agree Flash is a great tool to teach kids. Actionscript is a great foundation language. I've taught some primary school kids Flash before and some of them made some pretty impressive games.