This article originates with the question in the  Small Basic FAQ. We wanted to give the community a chance to answer this question in depth.

What are the unique features of Microsoft Small Basic?

We're dividing up the unique features by the five pillars of Small Basic: Simple, Social, Fun, Extendable, and Gradual.


  • Imperative
    Just like the early variants of BASIC, Small Basic is imperative and doesn't use or expose beginners to concepts like scopes, types, object orientation, and more.
  • Size
    The Small Basic language consists of just 14 keywords
  • Text Operators - Ease of Use
    The language primarily uses text operators (AND, OR), rather than symbol operators like { }, &, and |
    (Small Basic still uses some straight-forward symbol operators, including +, -, and *.)
  • Type System
    There actually isn't one. You can create string and numeric constants and assign them to variables. Operations performed on these variables will be interpreted according to the content. 
  • Variables
    All variables are global and are always initialized. They can often be used before they're assigned. Even better, they are all of one type, rather than integers, strings, etc. 
  • Events
    You can create a sub-routine and assign it to an event. This will wire it up to the event. 
  • Libraries / Extensibility    
    The libraries provide static "Objects" that group operations, properties and events. New libraries can be created using other .Net Languages and added to the Small Basic runtime. For example, anyone can write a library in C# or VB and copy the DLL into the Small Basic "lib" folder and use those functions in the Small Basic language!   
  • Streamlined Toolbar
    The toolbar has been stripped down to just the basics, presented in large buttons that are easy to grok and hard to miss! See the Toolbar section of The Small Basic Environment (IDE)  
  • IDE Colors
    Each type of code is assigned its own color, built right in the language's IDE. See Small Basic: IDE Colors.           
  • IntelliSense Redesigned
    Small Basic boasts a new incarnation of IntelliSense. Not only does it pop up and show you all your options as you type (which helps for learning, exploration, and spelling), but Small Basic's IntelliSense adds three new features to the Visual Studio IntelliSense: (1) You can scroll through your options in a fun and engaging way. (2) You see some basic Help content in the IntelliSense window, as you type. (3) Press the Control key to make IntelliSense transparent, so you can see your code underneath it! See IntelliSense Redesigned and Small Basic: IntelliSense.
  • Search & Find
    Re-orienting yourself and finding where you want to go in your code can be a challenge for new developers. And Small Basic rises to the challenge! See Find - Small Basic's Search Feature and its Importance to New Coders.     
  • Integrated Help   
    Small Basic takes learning to the next level with a dedicated Help pane that changes and teaches you as you type and click your code! And IntelliSense also explains every object, method, and keyword as you pick your options. You don't have to click Help or leave your app! You learn while you program! You can easily slide the Help pane to close it or reduce its size, and then slide it back open.
  • Error Line Coordination       
    When you get syntax errors (during Compile), just click the error message to hop up to that line and spot in the code!   
  • In Your Language     
    20 Languages!!! How can anything be simple to learn if it's not in your language? And that's where Small Basic also shines! We're always looking to add more languages. We have 20 in the UI with another four being worked on and regular reviews and updates on the existing languages with each release! We already have more language options than most paid-for enterprise software out there today!     
    And beyond the UI, we seek to expand our languages in our Curriculum (19 languages), Getting Started Guide (21 languages), Reference Documentation, Wiki articles, books, videos, and social media! See Small Basic: International Resources.     
    Direct Language Download - Starting in Small Basic 1.1, you can go directly to the Download Center and pick your language! See Download Microsoft Small Basic.


  • Easy to Share & Collaborate
    Share programs and your code easily with the "Publish" and "Import" buttons, which share programs to and from the Small Basic program share server ( Not only can you access/play the program online, but you can also access the code and easily import it locally into Small Basic (by clicking Import in Small Basic and entering the program ID). Example. See Small Basic: How to Publish Your Program.
  • Embed Player
    Using the Embed Player from the online published gallery (example), you can post your games in your blog or website. 
  • Monthly Challenges
    The monthly forum challenges give you opportunities to stretch your Small Basic skills, learn new tricks, get support along the way, and learn from each other! See Small Basic: Challenge of the Month.
  • Monthly Small Basic Guru Competitions
    The Small Basic category of the monthly TechNet Guru Competition includes Gold, Silver, and Bronze winners, to celebrate the top Small Basic TechNet Wiki articles of that month. The judges include Microsoft employees who work on Small Basic. See TechNet Guru Contributions - Small Basic.


  • Kinect Development
    Imagine kids using a text-based programming language (no blocks; no tiles) to build games for other kids to jump around and control with their whole bodies! It brings some healthy habits and an extra dose of fun!  And starting in Small Basic 1.2, it's available right in the UI without having to hunt for it! As soon as you see yourself moving in front of a background, you'll get addicted to how fun this is! We included samples directly in the UI to get you started! See Small Basic 1.2 Released with Kinect Support and Bug Fixes.          
  • Turtle Graphics
    In addition to using the GraphicsWindow to draw shapes and lines, you can choose to use the Turtle object and command your turtle to draw in your GraphicsWindow! See Small Basic: The History of the Logo Turtle.   
  • Turtle Mascots
    Small Basic features girl (Shelly) and boy (Sheldon) turtle mascots to teach students how to program and create graphics and animations. See Small Basic Blog: New Mascots.   


  • Lego Mindstorms EV3 Robots
    What's better than getting a free educational tool that teaches you professional programming while you program your robots with more power than ever??? That's what you get with EV3 Basic, the Lego Mindstorms EV3 extension for Small Basic! Read the 24 reasons why this is so awesome: Lego Mindstorms EV3 extension for Small Basic - EV3 Basic!!!                    
  • Raspberry Pi
    The Rasperry Pi has no keyboard, monitor, or peripherals. It is simple and the perfect candidate for Small Basic to communicate to. You can connect to the Rasberry Pi using the Small Basic Network object or using the LitDev extension. Learn more: Small Basic - Talking to Rasberry Pi                
  • Arduino
    Controlling an Arduino board with Small Basic enables you to display data it generates or to change settings interactively from your PC. Learn more: Small Basic - Arduino          

  • Extension Manager
    Too many extensions? You want to know which ones you have installed? It also gives you more extensions available that you can easily download and install from the manager, and it lets you toggle the extensions on and off! Awesome! Read more: Small Basic Extension Manager

  • Oculus Rift
    The Oculus SB extension for Small Basic returns for you the yaw, roll and pitch for the Oculus Rift. You can use it to build Oculus Rift applications using Small Basic. One of the best combinations is to use it with the LitDev 3D extension, to build out 3D virtual environments! See New Oculus Rift Extension for Small Basic - Oculus SB.                
  • 3D Graphics Engine
    3D rendering can be complex, but once the basics of 2D movement, events, and structured programming are mastered in Small Basic, the leap into 3D is more of a basic step. Using the LitDev 3DView extension, you can quickly gain an understanding of how to program immersive and very playable 3D/CG games and applications. See Small Basic - 3D Visualization.                   

  • Physics Engine
    The LitDev LDPhysics object acts as an interface to the excellent Box2D engine, which allows shapes to realistically interact, impact, and bounce off each other! You can create complex shapes like cars with moving wheels, inter-meshing cogs, a dirt bike race, objects connected by ropes and chains, and a lot more realistic physics! See Small Basic - Box2D Physics Extension.                
  • Micro Maestro Servo Controller
    Zock's Maestro SB extension gives you the ability to control Palolu's Micro Maestro Servo Controller board! See Small Basic Extension - Micro Maestro Servo Controller. See Small Basic Extension - Micro Maestro Servo Controller.


  • Graduate to Visual Basic 
    By clicking the "Graduate" button, you can move your program into Visual Basic and continue to learn programming, building the skills of a professional developer! 

  • Free Curriculum
    We want you to succeed in learning and teaching Small Basic! So we provided curriculum for you in your own language! See Small Basic Curriculum. That even includes the PowerPoint slides!
    Do you want to teach yourself directly instead? Then maybe the Getting Started Guide is the best way for you to learn! See Small Basic Getting Started Guide. This is also available in your language. And refer back to the Small Basic Reference Documentation for all the object's details. Learn gradually and at your own pace!

See Also

Other Resources

Other Languages

Turtle Graphics
In addition to using the GraphicsWindow to draw shapes and lines, you can choose to use the Turtle object and command your turtle to draw in your GraphicsWindow! See Small Basic: The History of the Logo Turtle.   
Turtle Graphics
In addition to using the GraphicsWindow to draw shapes and lines, you can choose to use the Turtle object and command your turtle to draw in your GraphicsWindow! See Small Basic: The History of the Logo Turtle.   
Turtle Graphics
In addition to using the GraphicsWindow to draw shapes and lines, you can choose to use the Turtle object and command your turtle to draw in your GraphicsWindow! See Small Basic: The History of the Logo Turtle.