Category:Microsoft Small Basic

From Rosetta Code
Language
Microsoft Small Basic
This programming language may be used to instruct a computer to perform a task.
Type safety: Safe
Type strength: Strong
Type compatibility: Nominative
Type checking: Dynamic
See Also:
Listed below are all of the tasks on Rosetta Code which have been solved using Microsoft Small Basic.
Your Help Needed
If you know Microsoft Small Basic, please write code for some of the tasks not implemented in Microsoft Small Basic.

Microsoft Small Basic (not to be confused with SmallBASIC) is a BASIC compiler for the .Net Framework, largely aimed at absolute beginners. It is an extremely simplified variant of the BASIC language, and can be thought of as a sort of "QBasic.Net". In fact, its creator has called it a modern-day QBasic. But it is a language and not an implementation because it has its own syntax.

Three examples:

  • the For loop has no Next statement
 For i=1 To 10
   ...
 EndFor
  • arrays are neither declared nor allocated. No Dim or ReDim statements.
  • arrays are associative and have a C syntax, tab(i,j)=k is coded:
 tab[i][j]=k


Small Basic lacks some things that are found in most other modern languages -- such as functions (although subroutines are supported) and the ability to call external libraries -- but this lack is promoted as deliberate simplification, to avoid confusing beginners with unnecessary complexity.

On the other hand, the language has some functionality built in that is not seen in any other language. For example, the Desktop and Flickr objects provide (limited) access to the Windows desktop and Flickr, respectively. As an interesting side note, this allows for some interestingly short programs, such as this one-liner which sets the Windows wallpaper to a random Flickr image:

Desktop.SetWallPaper(Flickr.GetRandomPicture())

Small Basic also uses some ideas from other languages, most notably Logo's Turtle graphics.

Note that although this is a compiler, the only way to actually compile programs is by running them from the IDE.

See also[edit]

Subcategories

This category has only the following subcategory.