views:

287

answers:

9

I have Visual Studio Professional 2008, and have been testing the free C# Express 2010 version. In general I'm amazed at how good it is for free, and how many of the full VS features it has. I'm thinking of using it for a commercial program and I know the license allows for that, it's just the description of it being for "non-professional developers like hobbyists, students and novice developers" concerns me a bit.

What I'm interested in knowing is what is stopping it being 'professional', that is:

  • Have you evaluated the express edition, and found a specific useful feature lacking that stopped you from using it ? Or did you initially use the express versions, but upgraded to full VS because of a feature lacking ? If so, what was that feature ?

I've searched for similar questions and found lists of differences between the full VS and express versions, but I'm more interested in knowing peoples personal experiences with it. It seems like many of the extra features in VS target developers working in large teams, so I'm mainly interested in hearing from either solo or small team developers where it seems like there's less compelling reasons to upgrade.

The limitations I've personally encountered are:

  • Extensions not being supported, though I can still use DotTrace, NUnit and an obfuscator outside of the VS integration, albeit it's a bit less convenient.
  • Limited refactoring, although the "Rename" and "Extract Method" are still there and I think they're the most useful. No 'Encapsulate Field' is annoying though.
  • More limited debugging for multi-threaded apps.
  • Edit: Another is that you can't easily switch between targeting "Any CPU/x86/x64" in Express like you can in VS. It is possible, but needs manually editing your project file to do so.

But the pluses seem to outweigh the minuses so far. Is there anything you found was a deal-breaker for you ?

+7  A: 

The biggest problem with the Express version is you don't have any source control. You can't professionally work without it, even if you are a lone freelancer. Keeping a change history on a project is vital when you mess something up and want to go to a previous version or simply want to compare different revisions.

Also I think in Express you can't have web and desktop applications in the same solution, or do other types of combination of projects. I'm not really sure about this one, because I don't use Express (for the first reason :))

Tudor Carean
It is true that Express doesn't except any plugins which makes it impossible to integrate TFS with an Express product. I also agree that any professional needs a source control system. This doesn't mean however that you can't use a source control system when using Express. It just isn't possible to integrate it in Express. You can use TFS with file system support or use SVN.
Steven
it really makes working with TFS and SVN harder and unconfortable. You could use Tortoise for svn if you are a hobby programmer but for full time work it's too annoying. As for TFS, you would be giving up almost all of features that you are using it for. If it really comes to that I'm sure everybody would choose the free Tortoise SVN.
Tudor Carean
+1. Exactly. The value of the time you swaste is tremendous ;)
TomTom
I have to disagree. I have previously use SVN with VisualSvn plug-in for Visual Studio which worked fine but I have now moved to Git and have not looked back. There is no plug-in for Visual Studio and nor do you need one as Git just works. The clincher for me is not having Reshaper which is a must for productivity.
Bronumski
@Tudor: False. SVN is fully professional source-control software, it's UI is much BETTER than TFS! Also Windows Explorer context menu plug-in is ENOUGH for work
abatishchev
If you use svn you need a VS plugins because svn can't deal with directory renaming it doesn't know about. Git on the other hand doesn't need this tracking and works well without plugin.
CodeInChaos
+6  A: 

No add-ins => No ReSharper => No dice.

AakashM
Thanks. I can see why MS took the decision to block extensions from Express then, as there seems to be a lot of similar comments on SO about how good Resharper is. I guess I need to try it out then!
miket2e
You don't need resharper to program professionally, its just a nicety
Steve
A: 

Professional is not the big step up here - Ultimate is. VS2010 Ultimate, for example, comes with bunches of profilers and that kind of thing. They give Professional away to any old student, for example.

DeadMG
I'm not sure this is relevant, as I'm wondering if I can save a few hundred dollars in upgrade fees every few years rather than looking to spend thousands more on the Ultimate edition!
miket2e
+7  A: 

I've used express for 5 years, it has everything you need to produce professional projects. There's one important feature that's missing, which is the extensible Database Explorer, e.g. if you need to generate an Entity Framework model from a MySQL database. But for that I use Visual Studio Shell (also free). For other stuff such as unit testing and source control I use other tools. You really don't need Visual Studio to have everything you need to manage a software project.

Max Toro
That's reassuring, thanks!
miket2e
A: 

There's only one plus: the cost. Every other difference is a minus (or at best reduces the cost of the minimum useful system). That means that, if the extra features are worth the money, buy the higher-end version.

The free lower-end version is great for (as they say) students, hobbyists, and novices. Students often don't have much money, and hobbyists and novices often don't want to spend all that much money on their hobbies and introductions.

However, a software professional is making money writing software, and presumably will make more money if he or she becomes more efficient. Assuming our professional is making decent money, the cost of an upper-end version of VS isn't large compared to revenues, and if it leads to even modest productivity increases it's worth it.

When you're doing something for money, don't try to do things too much on the cheap. Taking more time and inconvenience to do things will cost real money in that case, and avoiding it is worth real money.

David Thornley
@miket2e: I was addressing the last sentence of your first paragraph.
David Thornley
+2  A: 

Other answers have covert the fact that it can very well be enough, but if you are more than a hobbyists, students or novices, just get enrolled into the Microsoft BizSpark program.
You get all the tools for free (Visual Studio Ultimate, Team Foundation Server, All Windows Versions etc.) and you don't even need to be a company. Enrollment is super easy and uncomplicated.

The only requirements are (taken from the homepage):

  • You develop software
  • Privately held
  • Less than 3 years in business
  • < 1mio $ per year

This is not an ad. We have been very happy with the program and got access to everything we needed. Just wanted to let people know it existed.

Additional info:

  • You can be member of this program for 3 years
  • When you leave the program you have to pay a 200$ fee, its made for startups afterall
ntziolis