Shortcomings of SmallBasic

Small basic is a very fun and interesting language+environment in which people can write their first ever lines of code.

It helps if you've previously used a 'drag and drop' programming environment, such as Hopscotch (or its predecessor 'Scratch')

SmallBasic is deliberately limited in how it behaves -- it boasts only 15 keywords.

Some of the limitations are too much though.

Shortcomings of the language

The 'biggie' (for me) is that there are no functions, only subroutines.

Subroutines have no parameters, and no return value.

If they did have parameters, then the parameters would need to have local scope. But since there's only global scope, this would be a major change.

So I can see why they didn't add it, but for me it places major limitations on what lessons I can give to a beginner.

Shortcomings of the environment

No way to maximize a window.

No way to switch between windows from the keyboard. (No ctrl-tab)

No way to see the code while the program is running. I accept that you can't set breakpoints, or alter the program, or step through the program... all of which are great learning experiences... but you should be able to see the code at least, so you can think about it while the program runs.

No auto saving.

About auto saving

If you want to automatically save files, you would need to automatically assign a name.

Sure you can call them "Untitled.sb", then "Untitled 1.sb" and so on.

But in a fun environment you can do better -- for example by having the name composed of a bunch of randomly created key phrases, such as "HairyPurplePumpkinSoup.sb" (Any programmer who doesn't enjoy creating that feature is not someone I want to meet)