A Short Jeremiad

This book has been an endless project, following the Visual Basic beta cycle through many unexpected turns and switchbacks. Hard disks have crashed. Deadlines have been missed. Operating systems have appeared. Lies have been told. Files have been trashed. Love has been lost. Mail has flamed. Sources have been unsafe. Networks have crawled. Midnight oil has burned. Hair has fallen out or turned gray. Managers have departed. Bugs have entered bug-free programs with absolutely no programmer assistance.

But that’s nothing new. I’m sure similar things (or worse) happen during your projects.

There is one thing about this edition that’s a little different. I think readers of the first edition will detect a change in attitude.

I might as well come out and say it rather than letting you guess. I don’t like some of the directions Visual Basic has taken in version 5. I think the product moved on to new features without consolidating the ones added in version 4. Don’t get me wrong. I like the compiler and ActiveX control creation, and I’m willing to cut them some slack on the first versions of these features. But I’m not giving any slack on limited features introduced in version 4 but not improved in version 5. Visual Basic version 1 set a standard for easy programming, and I expect every new version to live up to that standard.

Unfortunately, Visual Basic version 5, has quite a few features that don’t meet my expectations for a high-level user-oriented language. Beginners might not see these weak points, but if you push the limits of the language like I do, you’ll hit them every day. You’ll see what I mean (whether you agree or not) if you get to the end of this book.

Here are some specific wrong turns that I think Visual Basic has made:

You’ll find these points expanded between the lines throughout the book. Fortunately, there’s still time to turn back to the origins and purpose of Basic. I wouldn’t be so upset with Visual Basic limitations if I didn’t genuinely like the language and have high hopes for it to emerge as a general purpose programming language rather than a thin wrapper for user interfaces and data access.

So with the negative stuff out of the way, let me get back to the reason I chose Visual Basic in the first place. It’s still the fastest way to get an interesting idea up and running. No other language gives the same instant gratification. Basic has always been fun, and this version offers a lot of new toys. I don’t mean to sound ungrateful. I did have some fun writing this book. I did work my way through some pretty difficult problems so that you won’t have to. I hope you’ll find the result entertaining and enlightening.