Well, it's hard to say that the world needs BASIC, when hardly anything is akin to the original BASIC standard developed in the 70's. Put a piece of AMOS code next to Blitz or GWA or Power Basic, and you'll hardly see many similarities.
What I like most about the "revamped" BASIC languages is:
- Integrated IDE: realtime syntax checking. Some BASIC IDEs also use color-coded text like Visual C, and auto-indent.
- Interpretation: Compiling is great for a speed improvement, but raw code allows true architecture independence, so long as an interpreter is available.
- Realtime debugging: Interactive debugging and tracing is easier than in true compiler languages.
- More fun: Let's face it, you don't really WANT to start off with C. BASIC lets you do cool stuff right away.
- Simple structure: Writing whole apps in BASIC is a pain, but if you want to run little programs to handle mundane tasks, you don't want to do all that memory management by hand, do you? BASIC gives you results quickly.
What I hate about BASIC:
- You have to compile the whole program. C and other real languages allow you to compile your program in manageable parts, as object files.
- BASIC is an "idiot's" language: Unless someone really puts in effort to make BASIC more usable, which is definately possible.
- Bad habbits: When I gave up on BASIC and moved to C and the Allegro library, I learned a lot about real programming. I had to toss out most of my BASIC knowledge and re-learn everything. Instead of making a new language tailored to amateur programmers, couldn't we take C and make it easier, and then open source it so it could be ported to all sorts of platforms?
Bugs: BASIC compilers are generally buggier than other languages. AMOS has trashed more than a few of my programs over the years, thanks to a really screwed up editor that insisted that certain lines didn't exist and there was a syntax error when there clearly wasn't.
- Games: All BASIC languages these days are specifically designed for making games. There's very little out there for serious GUI applications. In fact, if you want a standard GUI in Blitz BASIC, you have to buy a totally seperate version! There's Blitz, Blitz 3D, and Blitz Plus. Come on... GUIs aren't complicated enough so you have to buy a whole seperate compiler!
- Huge executables: BASIC is generally not modular, so when you write a program, the compiler just throws in the entire runtime library. Blitz Basic executables are 750K minimum, no matter what. What if you only need command-line support and no graphics? 750K. Period.
I haven't tried Visual Basic. I want something portable, and Visual Basic is pretty expensive.