Microsoft developer Vijaye Raji spends his free time working on software designed to help beginners learn the principles behind Basic, programming’s original language.

By John Van Vleet

August 5, 2008

The way Vijaye Raji sees it, future developers need to get back to the Basics—literally and figuratively. That explains why Raji, a senior software developer, has spent a large chunk of his free nights and weekends over the past year working on a pet project he calls Small Basic, a language variant of Basic designed to teach beginners the principles behind programming.

“If you take a quick poll around Microsoft of all the developers, and you ask them what they started programming with, it’s usually some kind of variant of Basic,” said Raji. “When MS-DOS came around, they introduced QBasic, and it became very popular. Everybody started programming in QBasic. The interesting thing is that everybody who is a super developer right now at Microsoft started with the same humble beginnings: Basic.”

Raji says that things have changed, and that these days most programmers learn Java rather than Basic in their first computer science class. Unlike Basic, Java is complex and difficult to use, making it a poor choice for the next generation of superstar developers.

“We don’t have a good beginner programming language,” he said. “The offering from Microsoft is Visual Studio. If you open up Visual Studio, you will notice what I’m talking about. There are tons of toolbar buttons, tons of windows. Take a 12-year-old kid, and it’s very daunting. They don’t know what to do with it.”

Rather than a crowded toolbar, beginners gravitate toward object-based languages that allow them to essentially drag-and-drop a program together. Although young programmers can create usable programs in visual design languages, they often don’t understand why certain actions are necessary or even how they are completed on the back end, Raji said.

“It’s fantastic to introduce people to this kind of logic,” he said, even when those learning the language sometimes resist figuring out what’s going on. “[People often] try to mask programming. They don’t let the programming out. They try to work around the issue of actually writing code. People do learn these languages, but they don’t fully understand the necessity for all these concepts.

That’s where Small Basic steps in, Raji says. It’s essentially a vintage language focused on the principles of Basic, with all the conveniences and functionality of contemporary programming. Raji says this will allow, if not make, users completely understand the necessity and reasoning behind certain concepts and functions before progressing to more advanced languages.

“We know everybody can understand the concepts of Basic,” Raji said. “Now, take all the advances in the programming world, in the programming environment, and re-introduce that to the simplicity of the language that existed 20 years ago. That’s what Small Basic’s vision is all about. It’s very simple programming, very simple concepts, but it utilizes all the things that today’s computers can do.”

For the past year, Raji has tweaked and fine tuned Small Basic, releasing a new preview version online each month. He’s even distributed it to coworkers’ children, resulting in feedback that it was “really cool.” His problem then became finding a way to sell this to the public. He’s approached both the Visual Basic and Popfly teams, hoping to interest them in his offering.

“This is the first time I’m doing something like this, so I’ll be discovering things as I go,” Raji said, adding that he’s been leaning on the support of Chris Anderson, a partner architect in the Connected Systems Division, who has seen a number of personal projects become real products, including Nikhil Kothari’s Web Matrix.

“This is a little unique compared to some of the other ones I’ve observed closely,” Anderson said. “I’ve seen lots of different variations of these personal projects, the impact they can have, and the different paths you can go through to get them out there. This could easily become a real product.”