I'm not very enthusiastic about Microsoft, mostly because they have been a copy cat for decades. But before Microsoft started with Windows, they've produced programming languages and were respected by many. I came into contact with Microsoft when playing with AmigaBasic which was build by Microsoft. Understanding BASIC on a VC20 was hard, I had no computer on my own and just followed others, blindly typing in programming code I've seen others use, amazed by the results of
10 PRINT "STEPHAN" 20 GOTO 10
Amazement that never left me.
Recently Microsoft has been promoting programming to kids and released Small Basic for free download. This is a very small and simple BASIC interpreter for Windows. I applaud this move, as there are not enough developers (especially women) around and all people should understand the basics of programming (utopia, I know!):
Microsoft Small Basic puts the "fun" back into computer programming. With a friendly development environment that is very easy to master, it eases both kids and adults into the world of programming.
Some argue BASIC isn't the best programming language around to learn programming, and I agree. LOGO is much better suited I've learned from teaching programming to non-programmers. But learning BASIC is better than not learning programming, and I've also started with BASIC which took me on a wonderful journey to over twenty other programming languages in the last thirty years. Every journey starts with the first step.
After download, you might experiment for yourself, and look around a bit. Small Basic has a blog and a PDF for documentation. There are some examples in the distribution ranging from Fractals to a small paint program. The website even has a working Tetris. Those are easy to read - could have some more comments - and a good source to learn.
After playing around some time with Small Basic, there is much to like. For starters the editor is simple, supports automatic code layout and syntax highlighting. The interface is easy and supports loading and storing programs. Small Basic does support context sensitive help and autocompletion:
What I did especially like, was a feature to publish your programs on the web. Writing a small programm to draw a house
by pressing "Publish" Small Basic automatically puts it on the web. An easy way to share programms with friends. Splendid.
What I did miss compared to LOGO interpreters is the direct feedback. Entering a command, pressing enter, seeing the result. The execution model in Small Basic is much more like a traditional IDE and might pose an uneccessary burden on the young learner (no REPL).
Otherwise a very nice move in the right direction. What do you think? I think we need more software developers. Start programming!