Visual Studio 6.0 Released at DevDays

Microsoft recently released its latest version of Visual Studio, version 6.0. This release comes approximately 18 months after the first release of Visual Studio in March 1997. Visual Studio is a suite of products much like Microsoft Office but tailored for software development. Visual Studio contains Visual FoxPro 6.0, Visual Basic 6.0, Visual C++ 6.0, Visual InterDev and Visual J++. There is an Enterprise Edition of the product as well that adds SQL Server Developer edition as well as Microsoft Transaction Server. The price has gone up in this release as well. Each of the products included in Visual Studio are still available for purchase as separate tools. Microsoft recommends their products to be used as follows: Visual C++ for performance, Visual Basic for productivity, Visual FoxPro for data centric applications, and Visual Interdev for web application development for DHTML and Scripting. There haven’t been any earth shattering improvements among the core products such as Visual FoxPro, Visual Basic or C++. However, there have been a number of bug fixes and improved integration among the individual components. Improvements have also been made to the handling of ActiveX controls and COM controls. Visual FoxPro has been more optimized to support COM server development and has been improved to host ActiveX components in a more stable fashion than previous versions.

My review covers Visual FoxPro since I have been using the product since 1986 when it was called FoxBase+ and was owned by Fox Software in Perrysburg Ohio. At that time it was a DOS based product. The product has gone through major revisions and improvements since that time. It has gone from an object based text based database development tool to a very powerful 32-bit Windows based Object Oriented Programming language. Microsoft has done an incredible job at turning this X-Base tool into an Object Oriented development tool. Visual FoxPro has the ability to define class libraries and subclass those libraries to add functionality to the original class definition. It is even possible to write wrapper classes around ActiveX controls to enhance them or work around bugs within the control. So the power of truly reusable software components has been available in Visual FoxPro since early 1995. This is something that cannot be done in Visual Basic as of yet. Therefore the true power of OOP development is still lacking in the Visual Basic environment. Microsoft just hasn’t marketed Visual FoxPro as well as its other tools and therefore it hasn’t really gained the exposure it deserves. Many of my clients are amazed at what can be done with Visual FoxPro. I use the tool knowing that anything is possible given enough time. It has no limitations until proven otherwise.

Actually using Visual Studio has been a little bit troublesome. I think that Microsoft’s complacency and arrogance is starting to damage their products and cause a lot of frustration within the development community. While I was installing my copy of Visual Studio 6.0, it crashed. This didn’t get me too pumped up about their new product at all. I called Microsoft Support on their toll number to let them know what happened during the install and the first technician I reached had not even seen the new Visual Studio 6.0 product yet. He had to get a higher level technician on the phone as well. When I explained the problem that I had with the product, the second technician asked if I was running any other applications at the time I was installing Visual Studio. I told the technician the only software that I was running on my machine was Windows 95. The first technician laughed and said, "Well that’s the problem!" in a joking manner. It’s pretty sad when Microsoft’s employees have such little faith in their own products. But this is pretty much becoming the norm for their products. They keep adding complexity to their products with little regard to fully testing and debugging them. Microsoft is looking into the installation problem.

Some of the improvements in Visual FoxPro have been speed. Microsoft has improved string handling making it almost 600 times faster. We also have some new added capabilities such as the handling of JPEG and GIF image files within the image control. This definitely saves disk space over Bitmap graphic files and circumvents the need to purchase add on components to support those file types. These two improvements have been mostly made to accommodate Internet application development. As always Visual FoxPro continues to be the fastest database tool on the market and excels at retrieving data from large databases. Visual FoxPro can also be used as a front end to SQL server databases as well supporting up 2 billion records or tables with file sizes less than 2GB using its own database engine. Another much welcomed improvement to the language is the ability to add properties on the fly to any object. This is much like declaring variables in any programming language; however, the property is associated with the object that it is added to. Another new feature that helps to integrate Visual FoxPro with the Internet is its ability to be hosted as an Active Document within a web browser. Forms can now have scrollbars on them to assist with Active Document hosting.

Visual FoxPro is still not a perfect product. I have been reporting blatant and mission critical bugs to Microsoft with the product ever since the first BETA release of Visual FoxPro 3.0 in January 1995. Well needless to say, the first bug that I tested for has still not been fixed when working with the Grid control and using table buffering. Luckily there is a workaround for this bug. However, the hours involved with working around product bugs cuts deep into profits when it comes to unbillable wasted time. I’m just glad that I haven’t found any other new major bugs with this release yet.

For those developers that write business applications and have not tried Visual FoxPro, you should definitely give it a try. The learning curve is large but the payback comes in developing incredible applications with lots of code reusability. The previous versions of Visual FoxPro 3.0 and 5.0 were unstable and very buggy. However, if I had to rate the quality of Visual FoxPro 6.0, it is probably about 95% there. This is a great improvement over the last 3 years of trying to use the development tool to deliver shrink wrap bulletproof software. Microsoft has been debugging the product with the help of its development community at the developer’s cost. My biggest complaint with Microsoft has been the time it takes to deliver bug fixes for its development tools. It has typically been 6 to 8 months between service packs (bug fixes). On one occasion the released version of the product was unusable as a deliverable product for 8 months. This problem caused many developers to look at other development tools from other vendors. I am hoping that Microsoft gets this message and spends some of its masses of money that it keeps collecting for bug fixes and puts it into its development and testing efforts. Microsoft has been receiving a lot of harsh reviews lately in regards to its quality control with the releases of its new products. Overall, Visual FoxPro is an extremely powerful tool. I believe that Visual FoxPro’s OOP language and high level syntax make it the most potent development tool in the Visual Studio suite. You’ll write a lot more lines of C++ code to do what FoxPro can do in short order and still have a true OOP language. Visual Basic has the high level command set but lacks the true reusability that makes Visual FoxPro so powerful. With Visual FoxPro’s language architecture and ability to host ActiveX controls, developers can make the impossible possible.

Rich Simpson is a software developer/consultant and president of Mind’s Eye, Inc. For more information visit their web site at or send e-mail to or call 636-282-2102.

Copyright 1999-2008 Mind's Eye Inc.
Last modified: March 02, 2009