Tuesday, April 25, 2006

An (Almost) Lifetime of BASIC

From Roger Jennings: "An (Almost) Lifetime of BASIC", an entry in Apress's 2001 VB @ 10 Years Project as previously cached by Google.com.

The five-year-old content is preserved here because the original verion is no longer available from the Apress site or from the Google cache. Visual Basic celebrates it's 15th anniversary on May 20, 2006.

The "Happy 15th to Visual Basic" post from Paul Vick's web site contains the text of Microsoft's May 20, 1991 press release, "Microsoft Announces Visual Basic at Windows World '91: General-Purpose, High-Productivity Programming System for Microsoft Windows."

My introduction to BASIC arrived in the mid '70s with the delivery of one of the first Wang 2200 "desktop" computers. My company at the time—Fluidyne Instrumentation—had been producing data acquisition and control (DAC) systems based on the earlier Wang 720 calculators which stored assembly-level programs on cassette tapes. The advent of interpreted BASIC reduced programming cost by a factor of twenty or more and led to a worldwide market for the product line.

We ultimately replaced the Wang 2200s with lower-cost Commodore CBMs that had BASIC in 20 KB of ROM, 32 KB of RAM, and an IEEE-488 interface for 5-1/4-inch floppy drives, our DAC boxes, and, ultimately, 5-MB+ fixed disk drives. One of our highest-volume products of the early 1980s was an IEEE-488-to-Centronics converter to drive a variety of impact printers.

Ten years and a couple of companies later, I decided to give up traveling sixty percent of my life and started writing commercial database programs in dBASE III+ and Clipper. I got hooked on relational databases—a strange addiction for someone who spent the late '50s at U.C. Berkeley—and have never been able to get the database monkey off my back.

Windows 3.0 arrived while I was consulting for the Sixth International Conference on AIDS in San Francisco, and Word for Windows 1.0 introduced me to WordBASIC. I finally gave in and bought a mouse. My first venture into serious WordBASIC programming was an imperfect Word Perfect to Word for Windows macro converter for my wife, Alix.

The macro converter led to my first book for Que, Using Visual Basic. My theory was that knowing nothing whatsoever about VB was a plus when it came to writing for beginning Windows programmers. I joined the "Rawhide" beta program for the Professional Extensions to VB 1.0 and became acquainted with Michael Risse and Nevet Basker. (The last time I checked, Mike was general manager of .NET Enterprise Services and Nevet was business development manager for ISA Server 2000.)

For better or worse, the VB title got lost in an organizational reshuffle and never appeared in print, but I ended up with a contract from Que to write Using Access for Windows. The Access 1.0 title was successful; between it and its eight subsequent editions, the title has close to a million English copies in print. Access 1.1 Developer's Guide and the 2.0 edition for SAMS, which emphasized Access Basic (originally Embedded Basic) programming, also sold well.

Access's conquest of the Windows desktop database market is in no small part the result of Tod Neilsen's efforts. Charles Cooper called Tod "one of the most likeable suits at Microsoft," and I agree wholeheartedly.

[Update 4/25/2005: The latest (10th) edition of Using Access for Windows is Using Microsoft Office Access 2003 and Tod Neilsen is now president and CEO of Borland.]

Between books, I developed commercial Access apps, including an Access 1.0/1.1/2.0 client/server app for National Semiconductor Corp. that Microsoft's Greg Nelson and National's Margaret Lam demonstrated at Tech*Ed '95. Early versions of the app used a pass-through query DLL and Information Builders' EDA ODBC middleware to connect to DB2 running on a Hitachi mainframe. The 1.0/1.1 versions were a kludge, but they ran like a champ on hundreds of networked desktops and modem-connected laptops.

It wasn't until VB3 arrived with support for the Jet database engine that VB became a viable contender to Access for database front-end development. I climbed on the bandwagon, added VB consulting to OakLeaf Systems' bag of tricks, and began writing "Database Design" columns for Jim Fawcette's Visual Basic Programmer's Journal. (Jim's insistence that VBPJ emphasize code, not abstract technology overviews, is undoubtedly responsible for much of the magazine's success.) My first large VB3 project was a semiconductor cycle-time reporting app that connected via TCP/IP to Sybase running on an IBM AIX box.

Database Developer's Guide with Visual Basic 3.0 was late to market because it took me a few months to convince SAMS management that a VB database book would sell in what was a generally over-published market for general VB titles. It did. VB4's adoption of VBA, the addition of the Remote Data Object (RDO), and the capability to produce 16- and 32-bit OLE 2.1 mini-servers and 32-bit OLE DLLs were interesting features, but none of my clients showed any interest at all in upgrading their VB3 apps or in using VB4 for new projects.

The same proved true for Access 95; Access 2.0 was fast, robust, and ran under Windows 3.1x - which was critical for laptop users. From my standpoint, both upgrades were non-events, but I wrote DDG with VB4 anyway. VB5 and 6 extended the language's reach to enterprise-scale systems, and I've yet to find a data-intensive project that VB6 can't handle with aplomb.

Despite the trend to browser-based front ends, conventional VB forms remain today's best choice for heads-down data entry and, in many cases, decision-support apps. Thus I'm glad—and somewhat surprised—that VB.NET accommodates both WebForms and WinForms. I expect migrating to VB.NET and gaining an XML-centric Weltanschauung to be a traumatic experience for many VB developers (including me). XML is here to stay, but my take is that XML Web services will be ready for prime time when 50% or more of U.S. households have broadband Internet connections. Sending and receiving SOAP messages via HTTPS through an analog modem isn't my idea of fun.

I'm an old dog, so I've seen plenty of new tricks follow the WebVan route to oblivion. (Does anyone remember VB for DOS, a.k.a Escher?) I'm waiting for Microsoft to supply a better definition of Office.NET and, especially, Access.NET before I make a total commitment to the .NET Framework. If Microsoft is willing to bet its Office revenue stream on .NET, I'll join the parade. In the meantime, VB6, MSXML3+, and SQL Server 2000 handle my data-related XML requirements quite nicely, albeit at a more leisurely pace than "legacy" ADO. Happy 10th Anniversary, VB. Here's hoping you're around ten years from now (and still recognizable to the pioneers).


July 15, 2001 Oakland, California

Roger Jennings, a principal of OakLeaf Systems, is a book author and contributing editor for Visual Studio Magazine (formerly Visual Basic Programmer's Journal). His primary programming interests are client/server and XML/XSLT database applications, and ADSI-database integration. Roger's latest books include Special Edition Using Access 2002 (Que), Special Edition Using Windows 2000 Server (Que), Admin911: Windows 2000 Group Policy (Osborne-McGraw Hill), and Database Developer's Guide with Visual Basic 6 (SAMS). His books for Que and SAMS have sold more than one million copies in English and have been translated into 20+ languages.

Technorati Tags: , , , , , , , , ,