|Written by Mike James|
|Friday, 02 November 2012|
Basic is a language we all loved to hate.
Basic was rough, it was ready and it was ugly. It had nothing to admire except of course that it was very easy to learn and use. Basic got a bad press from anyone who knew better but over time Basic developed into a language that you could not only do things quickly in but you could do them well.
You need to remember that there are no bad languages, just bad programmers.
OK, this is a platitude and good languages help good programmers be better programmers and make better programs. They make being neat and tidy and doing a proper job easier but there is a lot to be said for a language that has the common touch. A language that knows what you want to do and gives you what you need without the extras and the overheads.
There are many ways that languages come into being but they are mostly created by people with an idea, a philosophy. That philosophy can be object orientation, it can be functional programming, logic programing or well you name it. Programmers tend to believe in things and build these things into the languages they create. This tends to produce languages that are more like marketing tools for their philosophies than practical "get the job done" tools.
However, there are one or two languages that are born out of necessity. This is how Basic came about. From a humble beginning as teaching language, it was beaten into shape by being used by lots of people on lots of different home computers. It evolved to include the features that the programmers of the time needed. Simple graphics commands and sound were added, not because they fitted into some paradigm, but because they were essential. Then it took the leap onto Windows and Visual Basic continued the pragmatic development of the language.
What you might not know is that Eich had very little time to do the job - to quote:
It had to be done in ten days or something worse than JS would have happened.
Try explaining to a beginner the distinction between an integer and a float. Try explaining the difference between "100" and 100. The point is that if it is hard for a beginner it is also just plain hard.
You can take the point of view that typing is there to protect you from mistakes.
You can also take the point of view that most of the mistakes that are caught are caused by typing.
It can't really have a type hierarchy because there is no class and no inheritance. This is another thing that Java and C++ programmers can't fathom. How can you have a language that has objects but no classes, no inheritance and no hierarchical type system.
If you believe that strong typing is essential to making a language a good language I need to point out now that it isn't strong typing within the language that matters. Strong typing simply lets the compiler or the environment check that you are not doing anything silly. You really don't need strong typing to invent tools that can do a very similar job.
In other words, strong typing doesn't need to be built into a language to allow tools to be created that do the same job.
Would it have been a better language if Brendan Eich had been given more than ten days?
or email your comment to: firstname.lastname@example.org
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
|Last Updated ( Friday, 27 September 2013 )|