Friday, May 20, 2005

Why languages like BASIC are important today

I think it is important that most programming can be done with simple tools. BASIC fits well with the idea that it should be as simple as possible, but no simpler. The average person cannot commit to learning programming languages that need several thick books to explain them. Before you can get anywhere, you need a language that's comfortable to start with. How else can QBasic's tremendous staying power be explained? The last version of QBasic rolled out of Microsoft 13 years ago, and a quick Google search for QBasic reveals nearly a half a million hits!

I also believe that there is a lot of arrogance in the established programming culture. Many software professionals (some of whom aren't especially good at what they do) look with disdain on the users of "hobby languages". Not everyone who writes software does so as their sole profession. Some people need to write small programs for their own use, and so they can be the sole judge as to whether the software is good enough. Other people will only program for fun, and they should not need to answer to anyone.

Once when I gave a demo of Liberty BASIC to a fellow programmer, his response was, "Who would want to use that?" To him it seemed like a toy. He doesn't understand that not everyone needs or wants all the power and complexity of C++.

1 comment:

Carl Gundel said...

Liberty BASIC's market is not the professional programmer. I would be in peril in the marketplace if I tried to compete with professional tools. There is simply too much competition there, and turning my back on my user base would generate ill will.

I agree that adding more commands can be good and sometimes it's necessary, as long as they are not just piled on. Liberty BASIC has grown substantially over the years.

Each new command should be considered carefully, and the bias should be against adding. Perhaps the clipboard functionality you mention would be a good choice. On the other hand, changing the syntax of BASIC to make it more like C (the file opening example) is a definite misstep IMHO.