What is Small Basic?


  • The Language
  • The Programming Environment
  • Libraries


Who is Small Basic for?


What are the system requirements?


You also need to be sure that you have Microsoft .NET Framework 3.5 installed on your computer.

Click here to install Microsoft .NET Framework 3.5

How do I learn Small Basic?

Download and install the Small Basic software. You can then use the friendly "Introducing Small Basic" document to help you get started with Small Basic.

Why another Basic language?

Why not? According to Wikipedia, there are more than 230 different documented dialects of BASIC.

Seriously, we were going to write a compiler from scratch and decided to take liberties with the language to fix some of the oddities.

What about the other "Small Basic?"

We noticed there’s another version of "Small Basic" out there. Other than the naming coincidence, our version of Small Basic doesn’t have anything to do with this other version.

How is it different from QBASIC?

  • Unlike QBASIC, Small Basic is based on .Net and can consume (not produce) "Objects".
  • It supports distinct Operations, Properties and Events.
  • It doesn't have GOSUB :)

How is it different from VB.Net?

Small Basic is small - much smaller than VB and supports just a subset of what VB.Net supports. Besides, you can actually write a compiler using VB.Net

What are the unique features of the Small Basic language?




The Small Basic language consists of just 14 keywords.

Type System



All variables are global and are always initialized. They can be used before they're assigned.





What about Scratch, Alice?

Both Scratch and Alice are great tools that help beginners learn the concepts of programming. They are doing so by enabling people to write "codeless" programs. Small Basic is taking a different approach by introducing code as a first class concept.

What about KPL?

KPL (now known as Phrogram) was a great concept that used to focus purely on beginners (and hence the name, Kids Programming Language). In the last couple years, it seems to have now extended its vision to support intermediate and advanced users too. Small Basic focus purely on the beginners; there are tons of other options for the intermediate and advanced users.

What are the limitations of Small Basic?

We wanted to keep Small Basic as small and intuitive as possible. We felt that it's okay to limit Small Basic from being the language of choice for solving every conceivable problem. For example, while it's theoretically possible to write a Small Basic compiler using Small Basic, it's probably not a good idea.

What is the extensibility story?

The Small Basic compiler and the environment allow 3rd party Small Basic libraries to be plugged in to extend the possibilites of what you can do from within Small Basic. We'll post more on how to achieve this on the Small Basic Blog.

What is the evolution strategy for the language?

One of the most important visions of this project is to focus on the beginner persona. This is very imporatant for us and we've so far successfully avoided the temptation to add any any feature that doesn't cater to this persona. We'll continue to be guided by this vision. So, don't expect Small Basic to start supporting Generics any time soon. :)

What is the future of Small Basic?

The future of Small Basic depends on you. If the idea and the project are received well, we'll continue to invest in developing newer versions and supporting the most requested features.