Share via


Small Basic FAQ

Small Basic  > Small Basic FAQ

Read these frequently asked questions (FAQ) to learn more about Small Basic and if it's the right program for you! 


What is Small Basic?

Small Basic is a project that is focused at making programming accessible and easy for beginners. It consists of three distinct pieces:

  • The Language
  • The Programming Environment
  • Libraries

The Language draws its inspiration from an early variant of BASIC but is based on the modern .NET Framework platform. The Environment is simple but rich in features, offering beginners several of the benefits that professional programmers have come to expect. A rich set of Libraries help beginners learn by writing compelling and interesting programs. 


Who is Small Basic for?

Small Basic is intended for beginners that want to learn programming. In our internal trials we've had success with kids between the ages of 10 and 16. However, it's not limited to just kids; even adults that had an inclination to programming have found Small Basic very helpful in taking that first step. 


What are the system requirements?

Small Basic 1.1

To install Small Basic 1.1 you have to be running Windows 7/Windows Vista or newer operating system. More information on the article Download Microsoft Small Basic.  

Small Basic 1.0

To install Small Basic, you have to be running Windows XP, Windows Vista, or Windows 7.

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


How do I learn Small Basic?

Download and install the Small Basic software. You can then use the friendly Getting Started Guide to help you get started with Small Basic. We also provide a free teaching curriculum that you can use in class or on your own to learn Small Basic. 


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.
  • Small Basic is a tool for learning to program. VB.NET is a professional development tool that you can for commercial software development projects.
  • Small Basic exists to gradually lead learners into Visual Basic (and other professional languages). Click the Graduate button in Small Basic to export your code for Visual Basic. 

What are the unique features of the Small Basic language?

  • 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.
  • 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 be used before they're assigned.
  • Events: You can create a sub-routine and assign it to an event. This will wire the it up to an the event.
  • Libraries: 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 all the unique features, see The Unique Features of the Small Basic Language.


What about KPL?

KPL (now known as Program) 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 possibilities of what you can do from within Small Basic. We'll post more on how to achieve this on the Small Basic Blog. See the Small Basic Extensions Gallery

What is the strategy for the language?

One of the most important visions of this project is to focus on the beginner persona. This is very important for us and we've so far successfully avoided the temptation to add any feature that doesn't cater to this persona. For example, Small Basic isn't going to start supporting Generics any time soon. :) 


What is the future of Small Basic?

The future of Small Basic is undetermined at this time. We’ll provide an update after our plans have been finalized. Until then, we will focus on the education and information about the current version of Small Basic and on continuing to build the community around it. You can join the community at the Small Basic Forum and the Small Basic Blog.   


See Also


Other Languages