Many of us IT pros tend to forget our humble beginnings in working with computers.  For me, it was with the Commodore 64 computer (a product about which I have written several times in the past).  I did a lot of learning and playing with that deceptively powerful machine.  From writing my own rudimentary BASIC programs to typing in code listings for games from magazines of the day, it was an amazing learning opportunity.  But with all of the technology that has been developed in the past two decades, what should aspiring future programmers use today?

Microsoft Dev Labs has released Small Basic, a free, simplified development environment that has a humble goal:

Microsoft Small Basic aims to make computer programming accessible to beginners.

The product provides an approachable development environment and a simple but powerful language based on the ever-popular Basic syntax.  It includes support for variables, different types of output, conditional logic, branching and looping and even subroutines.  These are all extremely valuable concepts for beginners and IT pros to understand.  All programs are saved in single files and there’s no need for a complex development environment, manual compilation, or any other project setup tasks.

Among the features that are supported:

  • Command Completion and Reference:  Code completion features such as Microsoft’s IntelliSense are both helpful and fun to work with.  The following screenshot shows an example that provides annotated help as you type.

SmallBasic-Main

  • Syntax checking: When you attempt to run a program, the development environment identifies bugs and tries to provide some hints on how to find and fix them.  It’s not the most powerful system, but it helps reduce the pain of trial and error.
  • A Getting Started Guide: While it’s not context-sensitive, this beginners guide does a great job of introducing readers to basic programming concepts.  The guide is still incomplete in some places, but it provides some excellent examples that can be copied and pasted into the code editor window.
  • Text output to a console window via the TextWindow object.
  • Graphical output, which allows the use of standard draw commands.  Beginners can easily create lines, boxes, circles, and other common objects with just a few lines of code.
  • Turtle graphics:  For those that don’t remember (or never experienced) the fun and simple Turtle language, the code is made up of commands that tell the obedient reptile how to move.  Simple commands involving turning and moving a certain distance.  You can use looping to create some interesting effects.  The following figure shows our obedient turtle running in non-overlapping circles (the source code is in the Getting Started Guide).
  • SmallBasic-Turtle

Overall, I think the biggest and most beneficial impact of applications such as Small Basic is in its ability to stimulate beginners to learn and experiment.  It helps then think both analytically and creatively.  These are all things that seem to be lacking in "modern" education.  Perhaps some simplified tools are the right "toys" to job the mind and imagination.