Programming for kids
Posted on 28 Apr 2009 at 12:02
MySQL fan Ian Wrigley discusses computer programming for children, and goes back in time with linux.
Some of us are old - very, very old. Some of us remember teaching kids to program in a language called Logo which was, in its simplest form, a language used to control the movements of a "turtle" (actually a small triangular icon) on the computer screen. As the kids learned more of the language and grasped the building blocks of programming such as looping, they could begin to create prettier and prettier graphics. Eventually, of course, real life came calling, and beat them up for being such nerds. Such is the hard life of a budding computer programmer.
Lest I get a ton of angry emails, let me declare right now that, yes indeed, I do know that Logo was capable of far more than prancing turtles. As the Wikipedia article on the subject says, some people considered Logo to be Lisp without the irritating parentheses. But at that time, drawing cool graphics on the screen was as far as most people ever got with it. Anyway, Logo is now long gone as far as most people are concerned, and since the advent of the web, the Wii, the iPhone and all the other wonders of the modern world, no-one has the time to learn a programming language when all they're going to get out of it at the end is a few primitive patterns. If you're going to teach kids to program nowadays you've got to find something that will allow them to build real-looking applications as fast as possible.
The problem is that nowadays "real-looking" means looking like a proper Macintosh or Windows application, and unless you're a sucker for punishment then you don't want to start trying to teach an eight-year-old Objective-C and Cocoa, or the object model of the Windows Foundation Classes (at least you wouldn't want to do that with any of the eight-year-olds I know). What's really needed is something that will allow you to program in a "friendly" language and yet will make it really easy to put things such as buttons and graphics onto the screen. And that's exactly what Shoes is.
Don't be put off by its silly name - it really is an environment in which you can create full-scale programs that include graphics, buttons, animation, links to websites, text input areas and basically most of the things you'd find in any "real" Mac or Windows program. You write your code in a text editor, open it up in Shoes, and if you haven't made any mistakes it will immediately run. Then, once you're happy with everything, you can package it up into a single file and - here's the really great thing - that file (called a Shy, believe it or not) will run on a Mac, on Windows or on a Linux box.
If those names, Shoes, Shy and so on all sound a little twee, well I'm afraid they just are. Shoes was developed by a guy who goes by the name "_why" (sic) (or do I mean sick?) complete with that underscore character. His full name is "why the lucky stiff" (all in lower case, naturally), and if you're a Ruby aficionado you'll recognise the name because he's the person who wrote a free-to-download book called Why's (poignant) Guide To Ruby, which was full of little illustrations and supposedly funny asides. Personally, I found it intensely irritating, but maybe that means I just don't have a sense of humour. However, since Real World Editor Dick Pountain finds it even more intensely irritating, then maybe neither of us has a sense of humour or maybe it really is intensely irritating.
Despite all its toe-curling archness Shoes really is an amazing piece of work, and if you're looking to teach someone to program it's definitely worth your while taking a look at it. The language in which you write your programs is Ruby, which is a good start since it's relatively easy to pick up the basic Ruby concepts and it isn't some academic novelty that you'll have to forget as you move on to more advanced programming. Ruby is now being used all over the world as both a web development language and a general-purpose scripting language, and you can write full-blown Mac applications in it. The performance of the current version 1.8 is good enough, but when version 1.9 is released this year its souped-up bytecode interpreter will put it on a par with C#. In short, Ruby isn't going to go away any time soon. But even without knowing more than a tiny smattering of Ruby you can immediately create a graphical front-end for your program simply by following the basic instructions on the Shoes website.
- How to fix Facebook: Social Fixer
- Taking the stress out of WordPress updates
- Where to download free web fonts
- Turn your tablet into a Sky+ remote control
- How to measure the success of a new IT system
- Three years on: the state of the tablet market
- Windows 8: what works and what doesn't
- Yes, I write down my passwords
- How to make money from apps
- Hack your own radio transmitter
- Hands on with the new Google Maps
- Nokia Lumia 925 review: first look
- Why I won't subscribe to Creative Cloud
- GoPro camera strapped to a remote-control helicopter: the ultimate boy's toy
- Acer Iconia A1 review: first look
- Acer Aspire P3 review: first look
- Acer Aspire R7 review: first look
- How we produce the PC Pro podcast
- Google Now draining iPhone battery
- The government website that doesn't work with IE, Chrome, Firefox, Safari, Macs or smartphones
- Dell profits slide 79% amid buyout talks
- Forget cloud subscriptions: users prefer standard licences
- McAfee: cloud storage could help spread viruses
- Analysts question Windows 8 as UK PC shipments slump
- Google pools storage across Gmail and Drive
- Ofcom accused of killing off VoIP competition
- ShoreTel dock turns iPhones and iPads into desk phones
- Bill Gates says iPad users "frustrated"
- Intel Silvermont promises three-fold boost for tablets
- Customers fume as BT introduces IP sharing