Something first: I was a VB5 programmer long times aho…never got around to .net and heavy object orientated stuff
A few years ago, people were talking much about how Visual Basic 6 is a bad programming language, etc. It can’t do real object orientation, it can’t really do pointers, it creates slow code and so on. The list of arguments is long – but IMHO, Basic has a few good reasons for existance:
Basic is RAD
Nowadays, developer time is very expensive. When a new system hits the market, if the API isn’t simple, it won’t get used. It is as simple as that. So, for a OS vendor, having a good BASIC implementation handy is helpful. For Micro ISV’s, the advantages of a language like Visual Basic allow for faster programming – I can remember cooking apps out 2x as fast with Visual Basic than I ever could to with C.
Speed/Memory is a COMMODITY
Come on, people, please stop fucking around toasters and IBM PS/2s. Nowadays, a 200€ machine has so much CPU power that the 50% overhead is random. No one cares if a task takes 0.0001 or 0.001 seconds if it gets executed once an hour. The same thing is valid for memory…even on a Palm, one doesnt care about 1k of memory any more.
Case sensitivity, brackets etc suck
When coding, the case sensitivity, curly brace, etc thingies are just plain annoying… . Who will EVER need a variable named foo and another one named Foo?
Teaching BASIC is faster
Last but not least – getting a programmer up to speed on C takes a long time. On the other hand, basic BASIC can be tought in two hours while sitting in a bar with just a tiny sheet of paper. This has benefits for all organizations who want rather cheap programmers and try to achieve this by training coders themselves – shorter training cycles means faster productivity.
Overall, C definitely still has reasons – if you need pointers or similar stuff, nothing leads you around C. Same thing valid for OS programming(nope, please, no Basic powered operating system kernel) and lowlevel stuff. But the times when C was king of the world are IMHO over – you now need to choose your development platform wisely!