texas-swede's Full Review: Microsoft Visual Studio® 2005 Professional Ed...
Visual Studio 2005 is almost already obsolete since Visual Studio 2008 has been released. However, many software projects in the industry are still using Visual Studio 6, Visual Studio 2003, and even Visual Studio 5. Some companies and divisions are considering upgrading to Visual Studio 2005 rather than to Visual Studio 2008. This review is written for them.
In this review I will also explain why it is better to go from Visual Studio 6 and Visual Studio 2003 to Visual Studio 2008 rather than to Visual Studio 2005. I also will provide an overview of the problems ahead for those who upgrade from Visual Studio 6 C++ to Visual Studio 2005 C++ and Visual Studio 2008 C++ .
About Visual Studio
Visual Studio is Microsoft's primary IDE. It can be used to develop console applications, Graphical user interface applications, web sites, web applications, and web services in both native code as well as managed code for all platforms supported by Microsoft. Visual Studio includes a code editor which supports IntelliSense. IntelliSense is auto-completion (guessing) for variable names, functions and methods. Visual Studio also includes code refactoring and an integrated debugger. The integrated debugger works both as a source-level debugger and a machine-level debugger. Visual Studio allows plug-ins to be added that enhance the functionality at almost every level. Visual Studio 2010 is currently in development. I use on a daily basis and have the following versions installed on my computers.
Visual Studio 6 Visual Studio 2003 Visual Studio 2005 Visual Studio 2008
Overall it is much more difficult to go from Visual Studio 6 to Visual Studio 2005 then it is going from Visual 2005 to Visual 2008. That is one reason you should go from Visual Studio 6 to Visual Studio 2008 rather than from Visual Studio 6 to Visual Studio 2005, however, many still choose to go to Visual Studio 2005 instead of Visual Studio 2008. The reason for this is often that they don't need the new features in Visual Studio 2008 and want to have as few upgrade problems as possible. It should also be added that you can, for example, download .Net 3.5 (essentially Visual Studio 2008 without the IDE) for free.
Visual Studio Professional versus other editions
Visual Studio 2005 and Visual Studio 2008 Professional is targeted towards Professionals (software engineers, small development companies, etc.). If you are a student or a hobbyist you should instead down load the Express editions of the products which you get for free. However, for serious programmers the express editions are not enough. The standard edition(s) are good for low budget Professionals.
VS2005 Overview Visual Studio 2005 Professional Edition includes Microsoft Visual Basic, Microsoft Visual C# (version 2.0), Microsoft Visual C , and Microsoft Visual J# programming languages; tools for building Windows and Web solutions (Visual Web Developer); SmartPhone and Pocket PC development tools for building Windows CE-based applications; Visual Database tools; advanced debugging tools, including cross-machine debugging; and much more. It should be noted that Visual J# has been removed in Visual Studio 2008.
For comparison Visual Studio 6 contained Visual Basic 6 Visual C++ 6 Visual FoxPro Visual Interdev 6 Visual SourceSafe 6 (and other tools)
Visual Studio 2003 contained Visual Basic Visual C++ Visual C# Visual J# You could also create ASP.NET web applications and service using aforementioned components.
Visual Studio 2005 contains Visual Web Developer Visual C# Visual Basic Visual J# Visual C++
Visual Studio 2008 contains Visual Web Developer Visual C# Visual Basic Visual C++
Visual Studio 2005 primarily targets the .NET Framework (just like Visual Studio 2003). .Net was upgraded to version 2.0 for Visual Studio 2005. Visual Studio 2005 also includes C# 2.0, ASP.NET 2.0 and data base designers were upgraded to support ADO.NET 2.0. In addition Visual Studio 2005 includes a local web server, separate from IIS, that can be used to host ASP.NET applications during development and testing. New project types were also added to support ASP.NET web services. The IntelliSense feature in Visual Studio was upgraded for generics and Visual Studio 2005 also supports all SQL Server 2005 databases. C++ was also upgraded with the addition of C++ /CLI
It should be noted that you can upgrade the Visual Studio 2005 with the .Net library for Visual Studio 2008 (.Net 3.5). The .Net 3.5 library is a free download so this way you can get pretty close to Visual Studio 2008 (excepting the IDE) without getting Visual Studio 2008. In fact I've integrated Microsoft Robotics Studio and the CCR (Concurrency and Coordination Runtime) libraries with my Visual Studio 2005, and they are not in Visual Studio 2008. The CCR library might be part of Visual Studio 2010.
About MSDN
This version of Visual Studio is Visual Studio 2005 Professional with MSDN. The MSDN library is a library of official technical documentation intended for developers. MSDN stands for the Microsoft Developer Network. The MSDN library documents the API, the various libraries, programming syntax, various "how to" articles, and it contains a lot of useful code examples and informational articles. I should add that you can access the MSDN documentation on-line for free.
From Visual Studio 2005 you access MSDN directly from the help menu in the IDE. If you press "Index" or "Search" under the "Help" menu you are shown a page with information to the right and an index table to the left. You can select to search specific items, for example, Net, Visual C++ , Visual C#, Visual J#, Office Development, or you can search the entire library. You can also access "technical support" from the Help menu. Even though MSDN is nicely integrated with the Visual Studio IDE it is really the technical support you are paying for. I can add that the free Visual Studio Express editions integrate only with the MSDN Express Library which is a subset of the full MSDN Library.
Upgrading from VS6 / VS2003 C++ (VC7.1) to VS2005 C++ (VC8)
When we upgraded some projects from VS6 C to VS2005 C we had a lot of problems. We also had problems going from VS2003 to VS2005. We got 500 syntax errors, 6,000 compiler warnings, crashes and thousands of exceptions. There were many reasons for these problems. There were changes in what kind of declarations was allowed and changes in variable scope (from wrong to correct). This caused a lot of the syntax errors. In addition VS6 C++ did not clean memory the same way as Visual Studio 2005 C++ (called Visual C++ 8.0) so you could get away with using invalid references in VS6 C++ but not Visual C++ 8.0. Other things were that functions like isdigit() no longer works with negative input, or extended ascii, and will throw an exception if that happens (it was never meant to). For what ever reason you could also get away with minor memory overwrites in VS6 C++ but you cannot get away with in Visual 2005. Such bugs will come back and haunt you when you upgrade. If you have large amounts of legacy code you could be in for an unpleasant surprise.
One thing that might be unexpected is that software exceptions from VS6 C++ are not automatically enabled when you convert the projects from VS6 to VS2005. To turn on software exceptions go to the properties for the project and under Configuration Properties, select C/C++ , then code generation, then under enable C++ exceptions, select "Yes with SEH Exceptions (/EHa)". The default settings is "Yes (/EHsc)" which you do not want (You don't want "No" either).
In one of our projects there were several thousand "strcpy", "strcat", "sprintf" and other unsafe functions. In Visual Studio 2005 (Visual C++ 8.0) these will get you in trouble when they cause memory overwrite. You should instead use the safe versions "strcpy_s", "strcat_s", "sprintf_s", etc. However, instead of replacing all these functions manually you can use the definitions below to automatically replace them. You will still get exception when a memory overwrite is about to happen, but the memory overwrite is avoided and the exception occurs in the right place which is a million times better.
If you are upgrading from Visual Studio 6 (or Visual 2003) C++ to Visual Studio 2008 C++ you will naturally have all the same problems, and a little bit more. However, the upgrade from Visual Studio 2005 to Visual Studio 2008 is much easier. It was not too difficult to convert Visual Studio 2005 C++ /C# code to Visual Studio 2008 C++ /C# code and in addition the interface changes from Visual Studio 2005 and Visual Studio 2008 were minor simple improvements and added community components, which was nothing to cry about.
VS2005 compared to VS2008
Among the major enhancements to Visual Studio 2008 (as compared to Visual Studio 2005) are the .NET Framework 3.5, WPF, WCF, WWF, LINQ, and the language extensions in C# 3.0. The .Net 3.5/3.0 is really the item that provides most of those other components and Studio 2008 provides support and IDE. For one of our major projects it was the language extensions in C# 3.0, for example, LINQ, and the more concise syntax to get lambda expressions to work that matters the most (the new "=>" operator). However, we did not need Visual Studio 2008 to get this functionality. Instead we downloaded and upgraded Visual Studio 2005 with the free .Net 3.5 library.
WCF (Windows Communications Foundation) is a new great programming framework that is used to build applications that inter-communicate. The Windows Presentation Foundation (WPF); is a new GUI toolkit that allows you to build extremely interactive and media-rich front ends (2D and 3D graphics and animations) for desktop applications (and web applications). The WPF Designer also provides a split view and snap lines for aligning controls and text. Graphical User Interfaces created with WCF look really good. Even though you get the WPF functionality with .Net 3.5 you cannot easily create WPF based interfaces without the designer/IDE. So if you are going to create Graphical User Interface using WPF it is recommended that you upgrade to Visual Studio 2008 (however, there are third party design applications for WPF). Another new component in Visual Studio 2008 is WWF. WWF allows you to define, execute and monitor workflows to model complex business processes. In addition IntelliSense has been significantly improved in Visual Studio 2008 and now supports JScript authoring and ASP.NET AJAX scripting.
Final recommendation You should most likely upgrade to Visual Studio 2008 from Visual Studio 6 and Visual Studio 2003 rather then going to Visual Studio 2005. However, if you don't need much of the new functionality in Visual Studio 2008, or you can get it via a .Net 3.5 download, and you want to make a smaller jump, or you need something that is gone in Visual Studio 2008, then you might want to go to Visual Studio 2005 instead. However, be prepared that going from Visual Studio 6 C++ to Visual Studio 2005/2008 C++ might be a difficult task.
NOW get 2-years of Subscription when buying here --2yr's full Support, Downloads & Media Shipments to your door. Includes Visual Studio 2008 & MSDN Pr...More at Always Cheapest.Com
Visual Studio 2005 ProA comprehensive development environment for professional developers.Visual Studio 2005 Professional Edition is a comprehensive, ...More at SoftwareMedia.com
Epinions.com periodically updates pricing and product information from third-party sources, so some information may be slightly out-of-date. You should confirm all information before relying on it.