{{language|Microsoft Small Basic |strength=strong |safety=safe |compat=nominative |checking=dynamic |LCT=yes}}

'''Microsoft Small Basic''' (not to be confused with [[SmallBASIC]]) is a [[:Category:BASIC|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 "[[QuickBASIC#QBasic|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 [[wp:Windows shell#Desktop|Windows desktop]] and [[wp:Flickr|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 [[:Category:Logo|Logo's]] [[wp:Turtle graphics|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== *[http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx Small Basic homepage] *[[wp:Microsoft Small Basic|Small Basic on Wikipedia]] *[http://msdn.microsoft.com/en-us/beginner/hh304480.aspx Small Basic Getting Started Guide]

[[Category:Web Application]]