Microsoft’s Small Basic is a simple programming language and environment aimed at beginners.
It ships with an IDE for Windows, a commands line compiler and a small .Net library. Small Basic programs can also be run in the browser on Windows & Mac via SIlverlight.
The shipped .Net library for Small Basic targets WPF for graphics which is unfortunately not supported on Mono, which means Small Basic apps will not run directly on Mac or Linux.
To get Small Basic apps running from the command prompt on Mac and Linux all that is needed is a new library without the WPF dependency.
Recently I knocked up such a library providing support for command line input and output, graphics support is a work-in-progress.
But this does mean I can now write and run FizzBuzz, or even work through the majority of the Small Basic Tutorial, on Linux or Mac via Mono:
Combine this with my open source Small Basic compiler project (written in F#) and there’s now a cross platform version of Small Basic :)
If you fancy having a play with an early version of the source download it here: http://trelford.com/SmallBasicLibrary2012.zip
Future work
I’m currently evaluating GtkSharp, OpenTK and WinForms as options for a cross platform version of the graphics library.
As well as the compiler, I’ve also written an interpreter for Small Basic which means it should be possible to edit and run programs on iOS and Android, but that’s another story…