Developer's Toolkit
Expressway or Dead End?
If your on a budget should you use Visual Studio Express Edition for a professional product development and release project?
The vast majority of professional developers obtain Visual Studio as a part of a Microsoft Developer Network (MSDN) subscription, and that makes sense in a lot of cases. Depending on your level of subscription, you get SQL Server, different operating systems and different tools and products that can be helpful to many developers.
But for some developers, an MSDN subscription is a luxury. The minimum price of $1,000 a year is out of the reach of some groups, whether they be small or large groups or individual developers. These developers and teams may be working at a start-up company that's bootstrapping its operations and can't spare the money for developer tools, or the business may be doing badly and trying to cut back on expenses.
This problem is compounded by a growing sense among many developers that developer tools should be free. This concept has grown from the open source community, and many non-Visual Studio development teams have successfully assembled development environments at little or no cost.
Money Savers
Fewer developers are aware of it, but Microsoft also has a free -- though not open source -- development product line: the Visual Studio Express Editions. There are four such editions, one for each of the Visual Studio programming languages -- Visual Basic, C++ and C# -- and an edition for Web development.
Microsoft intends its downloadable Visual Studio Express Editions for students and hobbyists. As an academic, I have sometimes used these editions for classroom purposes; depending on the language being taught, they can be effective student tools.
Some organizations, however, look at the Express Editions as a no-cost professional development solution for commercial applications. The question is whether or not they're up to the task, both from the standpoint of their own capabilities as well as the ability to use other tools along with them. If you want to commit to development using Microsoft languages and platforms, is it possible to do so on a strict budget?
Gains and Losses
Of course, you lose the ability to work with multiple Visual Studio languages. This typically isn't much of a limitation, as most developers use only a single language and each product has the full language. In practice, many projects can be successfully developed without multiple language support.
But you start to lose out on tools support, too. For example, the Express Editions lack the ability to work with Team System. You can't connect to the Team Server and make use of the source-code control, build-management or code-quality features available on that platform. Because many Visual Studio development teams use some aspect of Team System, this leaves Express Edition users unable to take advantage of these team-oriented features, some of which are very important for quality and integrity. Of course, if you're on a budget for development, Team System may be out of reach anyway.
The inability to leverage team tools degrades your ability to work as a development team, although you can look to third-party tools that may provide some of the ability to share source code and ensure code integrity and traceability. There are many third-party products available that can fill the gap; however, many of these products are also commercial. There are some open source and free solutions here -- such as CVS for source code control -- so it's possible to make up some of the loss of Team System.
But don't expect to be able to plug any Microsoft or third-party tools into your Express Edition. Microsoft doesn't permit integration of tools in this environment, so you'll have to work outside of the IDE. It's certainly possible to create an open source tool chain that meets specific team development needs, but as separate tools rather than an integrated whole.
Multiple Options
The bottom line is that under some circumstances, it can take more effort to use a Visual Studio Express Edition for a professional product development and release project -- but it is possible. Using open source tools for source-code control, test harness, code coverage and performance analysis, you can build a good set of tools for development using a single Microsoft language.
The key is to be able to clearly identify the scope of the project and understand the development tools and features needed. In most cases, however, you'll find that Visual Studio Professional Edition is your best alternative for team-based development of commercial and enterprise custom software.
About the Author
Peter Varhol is the executive editor,
reviews of Redmond magazine and has more than 20 years of experience as a software
developer, software product manager and technology writer. He has graduate degrees
in computer science and mathematics, and has taught both subjects at the university
level.