Though this term has been overused, we're truly witnessing the end of an era as Bill Gates shifts his full-time focus to his foundation. When I think back to the one thing that Bill and Microsoft brought to this world that made the most impact on my life, it has to be the power of Visual Basic running on top of Windows 3.1. Anyone who read the "Getting Started" booklet inside the VB3 box couldn't help but notice it was signed "Bill Gates, Microsoft CEO and Visual Basic Programmer."
Earlier this decade, Gary Cornell, Dan Appleman, Bill Vaughn's daughter and the folks at Apress asked me and other prominent VB guys from the '90s to write an essay that marked the 10 year anniversary of Visual Basic ("Ruby"). I just dug it up and it's definitely a walk down memory lane for me. I thought I would republish it on my blog as it clearly shows how Bill Gates influenced the career path I would take. I hope you enjoy it.
Back in the early '90s, I used to drive submarines for the U.S. Navy. During the Gulf War, I helped the Navy Seals get to where they needed to go on a special ops sub that came complete with every kind of James Bond gadget and weapon you can imagine. Back then I carried a 386-16MHz black and white laptop powered by DOS 4. The manufacturer of the laptop was a company called Altima, just like the car, go figure. I had done a little GWBASIC and dBASE III programming here and there, but my primary computing focus was to run WordPerfect 5.0 and a financial package called WealthBuilder.
After the Gulf War ended, I was lucky enough to get orders to a Trident submarine called the Alaska. I arrived in the Seattle area just in the nick of time to witness the Grunge Rock phenomenon that was transforming the city. It was clear to me though, that one particular software company on the "Eastside" of Lake Washington was having an equally profound impact on the Puget Sound region. Meanwhile, life on the Alaska was much less eventful. It was an ordinary job. We would just drive around the ocean waiting for the message from the President to launch our nuclear missiles.
Onboard the submarine we had all kinds of 386 PCs running Windows 3.x. As a Yeoman, I was either driving the sub or handling personnel issues. My boss Joe and I were really "into" computers and thought it would be a move in the right direction to shift our personnel recordkeeping from the file cabinets to the computer. Borland had just come out with a Windows version of Paradox, so we bought it and started teaching ourselves how to build databases and work with SQL. We wanted to build our own standalone application but were intimidated by the Object PAL language provided by Paradox.
On one fateful day in 1993, I was kicking the tires at a computer store in Kirkland when I came upon a big white box labeled "Microsoft Visual Basic Professional Edition 3.0." It claimed to work seamlessly with Microsoft Access 1.1 and would allow me to create my own standalone executables. In what turned out to be the most important decision I've ever made in my computing career, I bought that copy of VB and proceeded to teach myself how to use it. Lucky for me, software still came with books back then. Creating Windows applications in VB was a creative outlet for me because I found it to be similar to painting. I still get kidded for admitting this by my Computer Science and Mathematics colleagues.
Life on a submarine revolves around an 18-hour day. You're "on watch" for six hours and then off for twelve. This makes for some unusual sleep patterns. While most of my shipmates watched movies, played video games, or slept after getting off watch, I spent my time finishing my college degree and reading every VB book I could get my hands on. I was on a steady diet of books from Karen Watterson, Roger Jennings, and Dan Appleman. At the same time, a lieutenant on board the sub got me hooked on OS/2. Writing 32-bit REXX programs was cool, but getting VB3 to run in a crash-protected DOS/Windows virtual machine was something to write home about. Before I got out of the Navy, I moved on to Windows NT 3.1 to build my VB3 apps using the WOW (Windows on Windows) subsystem.
When I got out of the Navy, I returned to Houston and landed my first job as a consultant. I can't say that I was much of a programming heavyweight at the time. I'm ashamed to say that the data control was my best friend. Luckily, I had plenty of time to get my coding skills up to par while sitting on �the bench.� It seems that the Powersoft guys had sold all the large energy companies on the virtues of PowerBuilder. Apparently, VB arrived late to the RAD Windows development party and was having trouble getting a foothold in many of the large companies due to its lack of "enterprise" features. (Sound familiar?) After four months with no billable VB hours under my belt, I bought a copy of the Seattle Times to see if the market for VB developers was any better there. Boy, was it ever! The classified section had pages and pages of jobs for VB developers. Being the impulsive guy that I am, my wife and I packed our bags and moved to Seattle where we settled in a neighborhood called Ballard that seemed to be comprised completely of Scandinavian AARP members. The local comedy show, "Almost Live," got lots of laughs at the expense of these poor people from Ballard who drove their cars around with their turn signals perpetually on.
I took a job with a pioneering wireless company in Bellevue called Real Time Data. We built a system in VB3 that remotely monitored vending machines over primitive wireless networks. We did more than our fair share to push along the state of the art in wireless packet data networks. It was here that I learned humility and was transformed into a true software engineer by a group of guys much older and wiser than myself. Lauren Vanderhoof, Steve Horste, Phil Silvia, and Ray Angeledes taught me about state machines, user-defined types, bit twiddling, custom wire protocols, and serial programming. Thanks, guys. Together, we pushed VB3, Windows 3.1, and Access 2.0 to their limits as a round-the-clock telemetry system.
A few years later I spent some time at Microsoft as an Orange badge. It was there that I converted my VB skills to the Web; first with OLEISAPI and then with Denali (Active Server Pages). Over the winter of '96-'97, I had the pleasure of building one of the first internal ASP/SQL Server applications for Microsoft. OK, it was just a reporting tool, but it seemed pretty cool at the time. I was living proof that Microsoft would succeed in turning millions of VB developers into Web developers with ASP, VBScript, and ADO. Active Server Pages has been a big win for Microsoft and VB developers everywhere. Its success has even brought about the rise of copycat technologies like Java Server Pages and PHP.
Four years and several dot-coms later, we stand poised to usher in the next phase of the Internet thanks to the .Net Framework and Web Services. VB developers have finally been given everything they've asked for over the last ten years. Many of these developers are balking at moving to VB.Net, perhaps out of the fear of the unknown. My advice to them is to suck it up and get on board. The recent economic downturn has sparked a shakeout in the computer industry. Single language developers who made a lot of money in the '90s due to an "out of whack" supply and demand situation may not survive. Developers who strive to learn all they can about all technologies will be the ones left standing. Remember, Bill Gates and Andy Grove have been successful due to a paranoia that tells them that they have to work twice as hard as the other guy or risk being a relic of history.
Will VB.Net do the same thing for Internet development that "Thunder" did for Windows development? Only time will tell. But I've got my fingers crossed.
Rob Tiffany July 23, 2001 Houston, Texas
Rob Tiffany has been developing applications for DOS, OS/2, and Windows since the late 1980s. He currently serves as the V.P. of Technology for True Quote, maker of one of the world's largest electronic energy trading systems. A startup junkie by nature, he can usually be found making a go of it with a promising business plan. Rob is the author of Pocket PC Database Development with eMbedded Visual Basic.