S h o r t S t o r i e s

// Tales from software development

Microsoft Small Basic

leave a comment »

Last month Microsoft released Small Basic. It’s advertised as a free introductory programming tool for children but it’s difficult to understand the motives behind the release. Does the world need another dialect of BASIC ? Is BASIC the best langauge to learn programming with ? Why would Microsoft release a ‘product’ at version 0.2 with documentation that consists solely of a single PDF file with lots of ‘TODO’ placeholders ?

It’s seems a bit odd to say the least but after playing with it for a few minutes a couple of things impressed me. First, is the intellisense, is this something we’ll see in the next release Visual Studio ?

Probably not but I like it.

The second interesting feature is the interaction with the internet – there are functions for retrieving word definitions (presumably from a web service), interacting with flickr, or simply fetching web page content and files. Just when it starts sounding interesting and even useful, it quickly becomes apparent that it isn’t. For example, the flickr functionality is limited to retreiving a single image by tag or the image of the moment. It’s not possible to get a partcular image or images belonging to a particular user.

My first attempt at a Small Basic program was this single line:

TextWindow.WriteLine(Dictionary.GetDefinition(“computer”)

If you look closely, you’ll note that there is a closing bracket missing. Sure enough, this generates an error. Now, remembering that this is a learning tool for children, is this error message going to mean much to the program’s intended audience:

Sorry we found some errors
1,56 Encountered unexpected end of line parsing method call.

Hmmm, probably not. Anyway, I added the missing bracket and ran the program. This was the output:

 com·put·er (noun)
 com·put·er [ k?m py?t?r ] ( com·put·ers )

 1. electronic data processor
 an electronic device that accepts, processes, stores, and outputs data at high
speeds according to programmed instructions
 2. somebody who computes
 somebody who calculates numbers or amounts using a machine

 com·put·er·less (adjective)
 com·put·er·less See com·put·er

Not bad. My second program extended to three lines:

GraphicsWindow.Show()
pic = Flickr.GetRandomPicture(“moon”)
GraphicsWindow.DrawImage(pic, 0, 0)

And it worked first time!

It was certainly fun to play with for half an hour but I still don’t get it. What is Microsoft trying to do with this ?

Advertisements

Written by Sea Monkey

December 20, 2008 at 6:00 pm

Posted in Comment, General

Tagged with

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: