Learning just a few programming skills can deliver real benefits, helping you to automate, customise, and generally take better control of your PC. But if you've ever taken a look at free tools like Microsoft's Visual Studio Express then you'll know this isn't easy: they're packed with complicated features that make them very intimidating for beginners.

Microsoft Small Basic, as you might guess from the name, is a much gentler way to get started with programming. And this is obvious from the moment you look at the interface. There are no lengthy menus here, no complicated Options dialogs: just a single toolbar with 13 options, most of which you already understand (New, Open, Save, Run and so on).

The Small Basic language is simple, too, based on Microsoft's own Visual Basic and optimised for readability. So, for instance, its version of the classic Hello World program looks like this.

TextWindow.WriteLine("Hello World")

It's easy to see that Small Basic is taking a text window, then writing a line, in which will be displayed the text "Hello World".

Don't think that Small Basic's simplicity means it's short on features, though. Retrieving images from Flickr, for instance, is possible in other languages, but requires some work. Yet here's all Small Basic requires.

pic = Flickr.GetRandomPicture("mountains, river")
GraphicsWindow.DrawResizedImage(pic, 0, 0, 640, 480)

Again, it's very readable: we're supplying the search terms "mountains" and "river" to Flickr, retrieving an image and displaying a resized version. You'd prefer to make it your wallpaper? That's easy, too.

pic = Flickr.GetRandomPicture("mountains")

And there's plenty of other functionality on offer, with many useful examples to help you to get started (click Import, type TETRIS and press [Enter] to play Small Basic's version of the classic game, for instance). Check the Small Basic home page to find out more.


A perfectly balanced package, easy enough for kids to learn the programming fundamentals, yet also has sufficient power for everyone else to create genuinely useful scripts and utilities.