Why Johnny Can’t Code

Going back to the very first Small Basic blog post written in 2006 by the author of Small Basic, Vijaye Raji.  It was called Hello World and outlined what Small Basic was all about.  Vijaye says that he was inspired by an article he read called Why Johnny Can’t Code by David Brin.

It all happened in August of last year when someone sent me a pointer to the article Why Johnny Can’t Code and it got me thinking.  After all, when I was a kid, I started programming in ZX Spectrum with a built in Sinclair BASIC interpreter and did so until I ran into Turbo BASIC.  To me that transformation was groundbreaking and was the single most important reason why I chose to write software for a living, for the rest of my life.

I went back to this article by David Brin and re-read it, actually read it all the way through for the first time.  It really sums up for me what Small Basic is trying to do and how very important it is.  Its quite a long article, but here are a couple of quotes I would highlight, one at the start outlining what David sees as a problem:

Oh, today’s desktops and laptops offer plenty of other fancy things — a dizzying array of sophisticated services that grow more dazzling by the week. Heck, I am part of that creative spasm.

Only there’s a rub. Most of these later innovations were brought to us by programmers who first honed their abilities with line-programming languages like BASIC. Yes, they mostly use higher level languages now, stacking and organizing object-oriented services, or using other hifalutin processes that come prepackaged and ready to use

And later in the article a clear reference to what turned out to be Small Basic.

It would be trivial for Microsoft to provide a version of BASIC that kids could use, whenever they wanted, to type in all those textbook examples. Maybe with some cool tutorial suites to guide them along, plus samples of higher-order tools. It would take up a scintilla of disk space and maybe even encourage many of them to move on up. To (for example) Visual Basic!

Well, thanks to Vijaye and others this is now a growing reality.  Maybe one day Small Basic will be part of the standard Windows Operating System.

Comments (6)

  1. anonymouscommenter says:

    There's also an implementation of BBC Basic for Windows: http://www.bbcbasic.co.uk/…/bbcwin.html – one of the great BASICs from the golden age of democratised computing in the '80s.

  2. Thanks, LitDev. I hadn't noticed that direct challenge to Microsoft yet!

    Well Vijaye definitely took up the challenge!

  3. Vijaye Raji says:

    Brings back great memories.  

    I'm still around and watching all the great stuff that's happening in the Small Basic community. My free time is now almost entirely taken up by my 13-month old son, who I intend to introduce to Small Basic as soon as he is ready.

    Great work litdev and Ed in keeping my (and all our) dreams alive.

  4. Thanks, Vijaye.

    Vijaye, it's a bit far off, but when your son turns 3 or 4, you might want to start him on Kodu. I tried that with my girls and it worked beautifully. Then I moved them on to Small Basic at about 7 (the two older ones; my 3 and 4 year old daughters are still on Kodu). And these are normal, princess-loving girls (not the programming type; but they still love it and learn it well).

    I wrote this blog post today that expands on these thoughts (based off something you wrote in the FAQ): blogs.msdn.com/…/why-microsoft-small-basic-why-not-scratch-or-alice.aspx  

  5. Jibba Jabba says:

    SB would have to be an insignificant burden to MS and Johnny is the furthest thing to trivial. If you're an adult then Johnny basically rules your world.

    Spend more everything on Johnny and be happier.

  6. anonymouscommenter says:


    If anyone interested, I made a simple BAS (text) <-> PRG converter for the Commodore 64, available as a JAR (Java JRE 1.6) and as an APK (Android 2.2).

    Very easy to code with the tablet in a text editor, save as BAS (text) file, convert in PRG with my application and use it with an emulator (VICE, …) !

    Advantages: Availability (Java & Android) and the very well known Commodore 64 environment