Today my father in law started teaching my 4 year old daughter how to write in Bengali which is her native language. Below is the screen shot of her attempt to write অ আ ই, the first character is written by her teacher and the rest by her.
This got me thinking around when the time comes how do I introduce her to programming languages. A friend suggested I check out Small Basic which is from Microsoft Dev Labs and is a free download.
I downloaded the Getting Started Guide and skimmed though it for around 5 mins. Then fired Small Basic IDE up and instantly loved the UI, it had KISS written all over it. However, I did feel that it made extra effort to look too cute.
I could easily code up the following by skimming through the guide. The only hiccup was figuring out how to get a color from RGB as I didn’t guess that the method would be inside GraphicsWindow.
GraphicsWindow.BackgroundColor = "Black" GraphicsWindow.Width = 400 GraphicsWindow.Height = 256 For y = 0 To 255 GraphicsWindow.PenColor = GraphicsWindow.GetColorFromRGB(y, 0, 0) GraphicsWindow.DrawLine(0, y, 400, y) EndFor GraphicsWindow.BrushColor = "White" GraphicsWindow.FontSize = 24 GraphicsWindow.DrawText(10, 110, "Gradient")
The output is the following cool looking gradient effect
The whole language and the pre-packaged classes were very immersive. I really started having fun and could code up a small logo like application in around 10 mins. I could just use the following code (which is a sample from the getting started guide)
GraphicsWindow.BackgroundColor = "Black" GraphicsWindow.MouseDown = OnMouseDown ' Event handler Sub OnMouseDown ' Get a random image tagged flower from flickr pic = Flickr.GetRandomPicture("Flower") GraphicsWindow.DrawResizedImage(pic, 0, 0, 640, 480) EndSub
to create a UI where every click gets a random image from flickr
I just loved the whole experience, almost felt like Pop-fly, only way more powerful. I think Small Basic has a lot of potential especially after seeing the samples of what folks have created over at http://blogs.msdn.com/smallbasic/