Visual Studio: A Short History

Microsoft's Visual Studio product has been through a ten-year journey of development and enhancement, matching developments in computer language and code development processes in that time. Visual Studio is a tool designed for development of applications in a consistent manner regardless of the support language, using the same Integrated Development Environment or IDE for all languages and applications.

Originally designed to provide an editor, compiler, and debugger environment for Microsoft languages, Visual Studio has grown to include a large suite of components and tools. Visual Studio has introduced or expanded on several major changes in coding practice over the years, and has been tightly tied to the .NET Framework Microsoft adopted. One of the most useful features for developers is the IntelliSense aspect, which is Microsoft's autocompletion system for creating skeletons of functions, classes, and other components in code, speeding development work and reducing coding errors.

Designed to be as independent as possible of the language used, Visual Studio provides the same interface and tools for Visual Basic coders as for Visual C# coders, for example. By standardizing the interface and tools, Microsoft Visual Studio makes multiple-language development easier and allows for smoother transition between supported languages. While the set of supported languages has changed over the last ten years, the support for Visual Basic and Visual C++ has been consistent, with the addition of Visual C# in recent years.

Although at its core, Visual Studio is a package of a code editor, a debugger, a visual designer for interfaces, a compiler, and a set of programming and debugging tools, Visual Studio has become more closely tied to team development efforts with source code management and team access to its larger editions.

Studio Releases

Visual Studio has been through six major version releases since it was first introduced as Visual Studio 97, in 1997. Visual Studio 97 bundled several of the separate programming tools Microsoft had offered previously, and integrated the separate language products into one IDE. Supported languages in Visual Studio 97 were Visual Basic 5, Visual C++ 6, Visual J++ 1.1, Visual FoxPro 5 and also introduced Visual InterDev, specifically for creating ASP-based Web sites. Visual Studio 97 was notable primarily for creating a single development platform for all supported languages, instead of having separate toolsets for each language. Visual Studio 97 is also where the term "Developer Studio" was first introduced, although it did not support Visual Basic or Visual FoxPro.

Only a year later, Microsoft introduced Visual Studio 6.0 which moved all the supported language to version 6 except Visual J++ which jumped to version 1.1 and Visual InterDev, which was the same as the version in Visual Studio 97. While Visual Studio 6.0 used the same environment for Visual Basic, Visual C++ and Visual FoxPro, a separate development environment was still used for Visual InterDev and Visual J++.

Visual Studio .NET was introduced in 2002 and dropped support for Visual FoxPro and Visual J++ (due to a lawsuit from Sun). Visual Studio 2002 was notable for the introduction and incorporation of the first version of the .NET Framework. Visual Studio 2002 also required a Windows NT-based development platform, moving away from the Windows consumer version platforms. Another notable change in Visual Studio .NET was the first appearance of Visual C#, a programming language specifically targeted at the .NET Framework, and Visual J#, the successor to J++ (which avoided issues with Sun by targeting the .NET Framework and not the Java Virtual Machine). Visual Basic went through a major change with Visual Studio .NET, moving away from the older VB6 form and undergoing a transition to Visual Basic .NET. Visual C++ also had a change, with the addition of the Managed Extensions for C++ which allowed Visual C++ to create .NET programs. Finally, all supported languages used a single development interface with consistent tools. Visual Studio .NET was also called Visual Studio 7.0.

Visual Studio .NET 2003 introduced .NET Framework 1.1. It also added support for newer technologies like ASP.NET and the .NET Compact Framework, supported stripped-down devices such as PDAs and other mobile platforms. The only real change in the languages supported by Visual Studio .NET 2003 was a change in Visual C++, which became more compliant with language standards. Visual Studio .Net 2003 also added UML-based visual representations for architects. Visual Studio .NET 2003 was the first version of the package available in more than developer and professional editions, offering four editions: Academic, Professional, Enterprise Developer and Enterprise Architect.

Visual Studio 2005 dropped the ".NET" component as part of the official product name and introduced .NET Framework 2.0 and support for ASP.NET 2.0. Also known as Visual Studio 8.0, a Service Pack released in 1996 supported Vista. A number of notable improvements were made for Visual Studio 2005 over Visual Studio .NET 2003, including the first appearance of IntelliSense, the inclusion of a local Web server (so IIS was not required), support for SQL Server 2005 databases, and the introduction of the Deployment Designer, which allowed for designs to be validated before deployment. Visual C++ was upgraded to include C++/CLI, designed to replace the earlier Managed C++, and Visual C++ provided compiled support for both 64-bit and 32-bit platforms. Visual Studio 2005 marked the introduction of Visual Studio Tools for Applications, known as VSTA, which allowed for easier customization of Microsoft Office and other applications.

Visual Studio 2008, introduced to developers in late 2007, supports .NET Framework 3.5 and the new features in that platform such as ASP.NET 3.5 AJAX and the LINQ query statement system. Visual Studio 2008 adds a new CSS and HTML editor, strongly tied to Microsoft Expression Web. With Visual Studio 2008, support for J# was dropped, but Visual C++ had a new version of MFC 9.0 included, as well as new libraries for managed code. Visual Studio 2008 adds support for a lot of current Web technologies natively, such as an XAML-based designer, XSLT debugger, JavaScript IntelliSense, and JavaScript Debugging. One of the major changes to Visual Studio 2008 over earlier versions is that developers can target the .NET Framework version they want to code for, so Visual Studio 2008 can be used to develop .NET 2.0 applications instead of being tied to the latest version only. Other improvements to the Visual Studio 2008 package include better debugging routines, especially for multithreaded applications, a new set of user interface widgets, a new build engine that support multithreading (called MSBuild), and support for compressed icon resources for compatibility with Vista. A nice feature for some developers is the ability to obtain preloaded virtual machines for Visual Studio Team System 2008, based on Windows Server 2003.

Although still in early development stages, the next release of Visual Studio, to be known as Visual Studio 10, will add expanded IntelliSense capabilities, as well as support for SQL Server Compact databases, a call hierarchy capability for managed code, and a more integrated approach to the Team environment. Visual Studio 10 is to have a completely redesigned interface.

Studio Editions

Microsoft has made the last few releases of Visual Studio available in a variety of editions, and cross-over between versions and editions has led to some confusion. While the number of editions may seem confusing, there is logic to the approach adopted by the company. It is easiest to think of the various editions of Visual Studio in a hierarchical form, with each subsequent edition a superset of the previous.

The current editions of Visual Studio are:

bullet · Visual Studio Express: language specific stripped-down versions that are distributed now for free. Only a small set of basic tools is included and there is no support for more useful features. However, the Express editions are good as learning tools.
bullet · Visual Studio Standard: provides the full Visual Studio IDE for all supported languages, with complete support for the MSDN library. Integration with SQL Server is not part of the Standard version, nor is the Server Explorer tool. Visual Studio 2005 Standard includes support for mobile platforms, but this is not included in Visual Studio 2008 Standard.
bullet · Visual Studio Professional: adds SQL Server integration to the Standard platform, as well as some enhanced debugging capabilities.
bullet · Visual Studio Team System: adds Team Foundation Server for source code and team management. Also adds software collaboration and reporting tools to Visual Studio Professional, as well as metrics. There are five versions of the Team System platform: Team Explorer, Architecture Edition, Database Edition, Development Edition, and Test Edition, each with different roles as their focus, with a sixth version, Team Suite, offering all roles.
While Visual Studio Express is still free for download, all the other editions are not. However, site licenses and multiple-seat versions are available to reduce the overall cost of ownership for the Visual Studio tools.

It is difficult to find many Windows application development company that does not use Visual Studio these days, although a few years ago there were many more competitors. Now, add-ons to Visual Studio are widely available, showing its acceptance as the de facto development environment for Windows and Windows Mobile applications, as well as Web applications using ASP capabilities.

Each edition of Visual Studio has added new features and capabilities, and while the complexity of the tool has increased, in many ways it is as easy to use as the early versions. As an integrated development environment for Windows applications, Visual Studio is unrivaled in today's software market.