Shared publicly  - 
Small Basic - The Programmer's Guide
Written by Mike James   
If you have been looking for a simple language that makes it possible to teach complete beginners then you might be pleased to meet Small Basic. It is, as its name, suggests a small and simple language but it also has lots of rewards built in to keep the beginner's interest.
Angelos Sphyris's profile photomike james's profile photo
A very well-written article. Thank you. I have been playing around with SmallBasic recently to get a feel for its potential in teaching programming and I am very impressed with the good work done by Microsoft.
As an afterthought, I would think that allowing the passing of parameters to a user-defined subroutine is definitely an improvement that Microsoft needs to make. After all, it will make more sense as it will parallel the passing of parameters to the built-in subroutines, which is already a feature of the language.
Thanks for the comment (blush)... The Small Basic team seem to be very reluctant to add features for fear of making the language too complicated. In this case I think it would be a worthwhile complication. Parameters are already in use as you say and its odd not to have them in user defined subroutines - but perhaps there is a counter argument?
If the SmallBasic team are reluctant to add parameters to user-defined subroutines, then why not make them optional i.e. arrange so that the compiler does not complain if the parameters aren't present? In this way, the teacher/pupil who wants to teach/learn their use can still add them to the subroutine definition and benefit accordingly. As for a counter argument, I cannot think of one except what you say in the beginning about their fear of making the language too complicated. 

However, for me it is not much of a problem. Teaching the dependence of a subroutine on a variable is an important concept. After all, schoolchildren are bound to come across it in their mathematics classes when they start dealing with functions of variables...
Yes I agree - and the same approach could be used for other "missing" features. 
Add a comment...