So, you have a son or daughter who is showing some interest in computer programming, but you’re not really sure where to start. What to do? Well, as a former high-school computer science teacher, I am here to strongly recommend that you start them off with a scripting language like Ruby or Python. A scripted language tends to be a lot easier to start with than something like Java, C#, C/C++, or any of the other low-level languages out there, which will mean a lot less frustration for junior programmers. And less frustration for the kids means a much better chance that they’ll stick with it.
As mentioned, Ruby and Python are both excellent choices for a first programming language. Both languages are mature and well-designed, with strong support communities. And best of all, both languages are used by “real” programmers, so any work your kids do with the languages has potential long-term value in school and beyond.
In terms of a good starting point for Ruby, it’s worth noting that the Ruby community has recently released KidsRuby, a development environment specifically geared toward kids:
Happy KidsRuby, We’ve Gone Version 1.0!
Happy happy joy joy! We’ve gone to release 1.0 of KidsRuby, and we have a new website design too. Plus, as a special treat we now include the Ruby programming learning game RubyWarrior along with KidsRuby. Learning to program with Ruby is now more fun than ever! Thank you so very much to the dev team and our testers for helping us make this 1.0 release possible. Enjoy!
The KidsRuby environment provides a user-friendly environment in which to get started with Ruby programming. Notably, a “Turtle Graphics” library is included, making it simple for kids to write code to generate graphics (anyone else here remember Logo on the Apple II?).
At the moment, the KidsRuby environment is available for Windows and Mac OSX. There is also a Ubuntu Linux based environment available as a bootable ISO, for those so inclined.
Head over to the KidsRuby site for more information, including downloads, tutorials, and more….