To my surprise, I've been programming in Visual Basic 6.0 again recently. I'm still writing Java code in my day job but I had occasion to create a demo application. Most weeks I hold an informal class cum coding clinic (alliteration above all), where I help a couple of friends with their programming. They're just starting out with SQL Server 2000, so I thought it would be useful if I wrote a simple program to illustrate the use of SQL Server views, stored procedures but also custom collection classes. It's all based around the Employees table within the Northwind sample database, but I digress.
The thing that struck me most about returning to VB after over eight months learning J2EE was not how much I'd forgotten, but how instantly gratifying it is to use! I'd almost forgotten the speed with which RAD tools let you construct a user interface and write simple event–handling code to stitch things together. Oh, the sheer pleasure of being able to draw a button on a form instead of having to write HTML code for a Web interface. Oh, the joy of pressing F5 to compile and run the program instead of having to wait for the application server to start up. I found it immensely satisfying to be able produce a simple old–fashioned desktop application and have it finished within two hours! No hassle learning the latest framework or having to mess about with deployment descriptors.
Of course comparing J2EE to Visual Basic 6.0 is ridiculous, somewhat akin to complaining that Kew Gardens takes more effort to maintain than a potted plant. The terrain covered by J2EE is vast and it's extremely doubtful that a single developer could learn it all. Developing a high–quality enterprise application involves the mastery of many different disciplines and once achieved I'm sure there's a high level of intellectual satisfaction to be had from a job well done. However—and maybe it's something as basic as the fact that I'm not using the IDEA IDE—I simply found those couple of hours back in VB to be more fun than a lot of my enterprise Java coding to date.