Small Basic
Microsoft's beginner-friendly variant of BASIC—just 14 keywords, an IntelliSense-driven editor, and a built-in 'Graduate' button that turns first programs into Visual Basic.
Created by Vijaye Raji / Microsoft
Small Basic (officially Microsoft Small Basic) is a free, beginner-oriented programming language and development environment created by Microsoft. It is a deliberately tiny variant of BASIC—reportedly built around just 14 keywords—designed to give children and first-time programmers the simplest possible path into text-based coding. Where modern professional languages confront a beginner with packages, types, and tooling, Small Basic offers a single window, a handful of words, and an editor that suggests the next step as you type.
Crucially, Small Basic is Microsoft Small Basic, and should not be confused with SmallBASIC, an unrelated open-source BASIC interpreter project with a similar name. This page is solely about Microsoft’s educational language.
History & Origins
Small Basic was created by Vijaye Raji, a Microsoft engineer, and first appeared publicly as version 0.1 on October 23, 2008. The project is widely associated with a wider concern, voiced in science-fiction author David Brin’s 2006 essay “Why Johnny Can’t Code,” that the simple, built-in BASIC interpreters which once shipped with home computers had vanished—leaving no easy, low-ceremony way for a curious child to type a few lines and see a program run. Small Basic was, in part, an answer to that lament: a modern, free, friendly BASIC for a generation that no longer had one waiting at the command prompt.
The name is fitting. Both the language and its environment are intentionally small. The language pares BASIC down to a minimal core, and the IDE is a single, uncluttered window with an editor, a toolbar, and not much else.
Design Philosophy
Small Basic’s design is governed by a single overriding goal: remove every barrier between a beginner and a running program. Several deliberate choices follow from that goal:
- A minimal language surface. With only around 14 keywords, there is very little syntax to learn before writing something real. A beginner is not asked to understand classes, type declarations, or boilerplate just to print a line of text.
- Discoverability through IntelliSense. The Small Basic editor offers built-in IntelliSense (auto-completion and inline hints), so the available objects and operations are discoverable as you type rather than memorized in advance. Learners explore the language by experimenting in the editor.
- Immediate, visual feedback. Rich built-in objects—text and graphics windows, a Turtle for drawing—mean a beginner can produce visible, satisfying output almost immediately.
- A deliberate growth path. Small Basic is not meant to be a programmer’s permanent home. It is explicitly designed as a stepping stone, with a built-in way to “graduate” to a professional language (see below).
Key Features
A tiny, approachable language
Small Basic programs read almost like plain instructions. Output is written with TextWindow.WriteLine, input is read with TextWindow.Read, and program state lives in simple variables that do not require type declarations—the language is dynamically and weakly typed, treating numbers and text fluidly. The small keyword set keeps the cognitive load low while still allowing loops, conditionals, and subroutines.
Built-in objects
Much of Small Basic’s power for beginners comes from its set of ready-made objects:
TextWindow— a console for text input and output.GraphicsWindow— a drawing surface for shapes, colors, images, and mouse/keyboard interaction.Turtle— a Logo-style turtle that draws as it moves, ideal for a first visual program.
These objects expose simple, named operations, and IntelliSense surfaces them as the learner types, turning exploration into a guided experience.
The “Graduate” button
One of Small Basic’s most distinctive features is the Graduate button in its IDE. Pressing it launches a wizard that converts the current Small Basic program into a Visual Basic project, which can then be opened and extended in Visual Studio. This is the embodiment of Small Basic’s stepping-stone philosophy: the language is explicitly built to be outgrown, and it hands the learner a bridge to a full professional toolchain rather than leaving them stranded at the edge of a toy.
Extensibility
Because Small Basic runs on Microsoft’s .NET platform, it can load third-party libraries written for the Common Language Runtime, allowing the community to extend the environment with additional objects and capabilities beyond the built-in set.
Platform Support
According to its documentation, Small Basic is a Windows desktop application built on the .NET Framework. Version 1.0 (2011) targeted the .NET Framework 3.5, while versions 1.1 and 1.2 (2015) target the .NET Framework 4.5. Because of those framework requirements, Microsoft’s documentation indicates the earliest versions ran on Windows XP and later, but the move to .NET Framework 4.5 in version 1.1 reportedly dropped Windows XP support, leaving Windows 7, 8/8.1, and 10; the later 1.3 Microsoft Store package was a Windows 10–only UWP app. It is not a cross-platform desktop tool in the way that some modern languages are; its desktop reach is the Windows/.NET world.
In 2019, Microsoft released Small Basic Online (SBO), a browser-based version that runs Small Basic programs on the web, broadening access beyond a local Windows install. Small Basic Online was made open source under the MIT License and published on GitHub.
Evolution
Small Basic’s release history falls into clear phases:
| Version | Date | Notes |
|---|---|---|
| 0.1 | October 23, 2008 | First public release |
| 0.2–0.7 | 2009 | Rapid preview releases refining the language and editor |
| 0.8–0.91 | 2010 | Feature and stability work toward a stable build |
| 0.95 | February 2011 | Final preview before 1.0 |
| 1.0 | July 12, 2011 | First stable release (.NET Framework 3.5) |
| 1.1 | March 27, 2015 | Targets .NET Framework 4.5 |
| 1.2 | October 1, 2015 | Adds Kinect support and bug fixes |
| 1.3 | August 7, 2017 | Microsoft Store (UWP) package; Windows 10 only; added localizations |
After a burst of frequent updates in 2008–2010 and the 1.0 stable release in 2011, the desktop language settled into a long-stable form. Versions 1.1 and 1.2 arrived together in 2015 after a multi-year gap, and version 1.3 followed around August 2017 as a Microsoft Store (UWP) package. The exact release dates of any later desktop builds are not cleanly documented, but in practical terms the classic application has been stable for years. The major subsequent development was the separate, web-based Small Basic Online in 2019.
Influences
Small Basic sits squarely in the BASIC lineage and is most directly descended from earlier Microsoft BASICs such as QBasic, sharing their goal of an accessible, low-ceremony first language. Its built-in Turtle graphics borrow from Logo, the classic teaching language famous for turtle drawing. And its forward-looking design—running on .NET and offering a path to graduate into a full professional language—points explicitly at Visual Basic .NET, the language a Small Basic program becomes when the learner presses Graduate.
There is no well-documented evidence that Small Basic went on to influence other programming languages; its role has been that of an on-ramp—drawing on the BASIC tradition and feeding learners forward into mainstream tools—rather than that of a language that reshaped others.
Current Relevance
Small Basic’s desktop language has not seen a major feature release since the 1.2 / 1.3 line of 2015–2017, and in that sense it is mature and stable rather than rapidly evolving—active development has effectively shifted to the open-source Small Basic Online. Even so, it remains in active use as a teaching tool: its tiny surface, friendly editor, visual built-in objects, and explicit graduation path continue to make it a natural first text-based language for young learners moving up from block-based environments like Scratch. The Small Basic Online release in 2019—open source under the MIT License—extended that reach to the browser and signaled Microsoft’s continued interest in the educational mission.
Why It Matters
Small Basic is a thoughtful answer to a real problem: in an age of powerful but intimidating professional tools, how does a curious beginner take their very first step into real, text-based programming? By shrinking the language to roughly 14 keywords, wrapping it in a single discoverable editor, and giving newcomers immediate visual results through a Turtle and a graphics window, Small Basic makes that first step almost frictionless.
Its most important idea may be that it is designed to be outgrown. The built-in Graduate button treats the simplified language not as a destination but as a beginning, deliberately handing learners a bridge from a 14-keyword toy to the full power of Visual Basic and Visual Studio. In doing so, Small Basic carries forward the original spirit of BASIC—a language meant to put programming within everyone’s reach—into the modern .NET era.
Timeline
Notable Uses & Legacy
Classroom and beginner instruction
Small Basic is used to introduce children and first-time programmers to text-based coding, often as a step up from block-based environments like Scratch and toward professional languages.
'Graduating' to Visual Basic
The IDE's Graduate button converts a Small Basic program into a Visual Basic project that opens in Visual Studio, giving learners a deliberate on-ramp from the simplified language to a full professional toolchain.
Turtle graphics and creative projects
The built-in Turtle object—borrowed in spirit from Logo—lets newcomers draw shapes and patterns with a few commands, a popular first exercise in creative, visual programming.
Community programs and the TechNet Wiki curriculum
An active community produced tutorials, sample programs, and a large body of Microsoft TechNet Wiki articles, including step-by-step lessons that walk learners from Small Basic toward Visual Basic.