This article shows features of Microsoft Small Basic v1.0 programming language.

Programming Environment

Small Basic v1.0 has own IDE (Integrated Development Environment). This IDE has following features.

  • Import / Publish - Imports / publish the Small Basic source code from / to the Small Basic Program Listing Server.
  • Run - Compiles the Small Basic source code to .NET runtime object (CIL - Common Intermediate Language) and runs it.
  • Graduate - Converts the Small Basic source code to Visual Basic source code and start Visual Studio.
  • Intellisense - Shows help window to select candidate key word for Small Basic programming.

Fonts in Editor

Following fonts are used in Small Basic editor.

For  Font Name Font Size Bold Italic
Instructions Consolas 14 False False
Comments Georgia 14 False True

Runtime Environment

There are two runtime environment for Small Basic v1.0.  One is with [Run] button on Small Basic IDE.  The other is with program listing server on web browser and Silverlight plug-in.

System Requirement

Small Basic IDE and created executable (exe) programs run in following environment officially.

  • Windows 7, Windows Server 2003, Windows Server 2008, Windows Vista, or Windows XP
  • with .NET Framework 3.5 SP1

But also on Windows 8 with .NET Framework 3.5 enabled environment, Small Basic IDE and created exe can be run.

To run Published (uploaded) Small Basic program with program listing server, you need any operating system which has a web browser supporting Silverlight add-on.  Silverlight is an plug-in to display rich contents in web site powered by .NET Framework.  So programs on run on not only Windows PC but also Mac.


Small Basic v1.0 API has following objects. These objects are provided as dynamic link library (SmallBasicLibrary.dll).  Details about Object are described here.


Array object provides some methods and property to manipulate especially text index arrays.  Details about Array are described here.


Clock object provides system local time information as it's properties.


With Control object, you can create buttons and text boxes on GraphicsWindow and manipulate them.  Details about Controls are described here.


Desktop object provides methods to interact with the desktop.


Dictionary object provides access to an online Dictionary service in English and French.  Details about Dictionary are described here.


File object supports to access local text file on your disk.  Texts are encoded as UTF-8.  Details about File are described here.


Flickr object can get images from Flickr photo services.


There are two types of window for user interaction. TextWindow and GraphicsWindow. Controls, Shapes and graphics can be displayed on GraphicsWindows.  Details about GraphicsWindow are described here.


ImageList object is for getting image size in pixels.


Math object provides mathematic functions (methods) and a property (Pi).


Mouse object provides accessors to get or set the mouse related properties, like the cursor (mouse pointer) position.


Network object supports to access internet data with only two methods DownloadFile and GetWebPageContents.


Program object provides helpers to control the program execution.


Shapes object can draw and move shapes like animation.


Sound object provides functionality to play sound as preset sounds (chime, click, ring), MML, or audio files (mp3, wav, wma).  Details about Sound are described here.


Stack object provides stack functions which pushes/pops data to/from stack.  Details about Stack are described here.


Text object is for text manipulation.  Characters are encoded as Unicode.  Details about Text are described here.


There are two types of window for user interaction. TextWindow and GraphicsWindow. You can input and output text on TextWindow with TextWindow object.


Timer object is for Timer event.


Turtle object is for Turtle graphics.


Small Basic v1.0 supports following 9 events.  Events occur with user interaction (with Controls, keyboard, or mouse) or timer.  At these events, program control will be given to their event handler subroutines.  Following events are to define their event handlers.  Details about Event are described here.

  • Controls.ButtonClicked
  • Controls.TextTyped
  • GraphicsWindow.KeyDown
  • GraphicsWindow.KeyUp
  • GraphicsWindow.MouseDown
  • GraphicsWindow.MouseMove
  • GraphicsWindow.MouseUp
  • GraphicsWindow.TextInput
  • Timer.Tick

Supported Language

Small Basic v1.0 supports 20 languages.

Character Code Set

Small Basic v1.0 supports BMP (Basic Multilingual Plane: U+0000 - U+FFFF) of Unicode.

See Also

Other Languages