Thursday, December 29, 2005 - 10:19

C# Express

So I've just installed the new Visual C# Express.

It wasn't as easy as you might think, since I first had to uninstall Beta 2. What they don't mention (although it's fairly logical, if I'd taken just 2 seconds to think about it) is that you should uninstall VS and SQL Server *before* uninstalling the framework. And if you do it the wrong way round, it's then a bad idea to try to just delete the rest of SQL Server manually. Trying to install the new SQL Express on top of this mess doesn't work - nor does reinstalling the old framework and SQL Server! Eventually I did a search on google and found a tool to clean up a SQL Server installation, ran that, reinstalled the old version (which still came up with errors, but luckily nothing that would stop me uninstalling it), uninstalled the old SQL Server, uninstalled the old framework, then reinstalled the new framework, C# Express, and SQL Express.

So after all that, I haven't really had much time to use C# Express, although I did open one of my small VS2005Beta2 solutions and it compiled fine. I have noticed a couple of things, though:
  • SQL Server Express (on the Ready Launch CD, and on the C# Express CD) is just the server. You have to download the equivalent of Enterprise Manager/Query Analyzer (called Microsoft SQL Server Management Studio Express, or something like that) separately, which about another 30Mb :-(
I know that Visual C# Express is a cut-down version of VS2005 "for students and hobbyists", but I didn't (and still don't) know what that really means. Is the IDE a subset of the VS2005 IDE, or is the language/compiler not complete? Visual Studio started the process of confusing the distinction between the language and the IDE - unfortunately the express editions are just making it even worse. I haven't really had time to investigate the language/compiler features (and seeing as 2.0 is new to me, it might be really hard to do that even if I had VS2005 installed to compare to), nor I have I played with the IDE much, but here are a couple of IDE things I noticed right away:
  • fewer customizations options; for example, I can't set whether or not I want to see the start page (as opposed to a blank solution, or my last solution) when I start VS. You can set a lot of visual options (colours, indenting and other formatting), but no project or solution options (such as your default project folder) or international settings. Some of the more advanced compiler options are missing as well.
  • There doesn't seem to be support for source control.
  • You don't seem to be able to attach to a running process.
  • There doesn't seem to be an add-in manager - does this mean that you can't install things like testdriven.net, or compuware's devpartner profiler?
I'm sure there's a lot more missing as well. Quite possibly these are things that a hobbyist or student doesn't need, so I'm not necessarily criticising their absence. But for someone like me who uses the full edition at work, but wants to be able to code their own projects at home using C# Express, it's important to know the differences between them. If only to know the lack of which features will drive you insane :-)

Update:
I've just installed testdriven.net, so I can confirm that it does work with C# Express. Yay! And they've added some cool looking features, like ad-hoc tests (just right-click on a method to test it!).

Update:
I haven't really used C# Express much since I installed it, but lately I've been doing some coding. I can't really comment on .NET 2.0, but from an IDE point of view, I'm ambivalent about C# Express. For one thing, I can't get the colours quite right, but that's just me. I really don't like that you can't edit a file while debugging; sure, there's edit and continue, but you can only do that while execution is paused. What I often do is notice a problem, and leave the program running while I make a quick edit to the source. I don't mind that it will only take effect after I stop execution and recompile; the important thing to me is to get the change made while I remember what I need to change. So that's one thing that bugs me.

The rest of it's okay - better than VS 2003, but worse than VS2003 + resharper. Refactoring really doesn't work well, and there are a bunch of little things that just don't feel quite right. If it weren't for the new features of .NET, I wouldn't bother to upgrade the IDE.

Labels:

2 Comments:

At 30/12/05 06:37, Anonymous Anonymous said...

There's actually a web page up to answer just that question :)

http://msdn.microsoft.com/vstudio/products/compare/

 
At 30/12/05 20:31, Blogger CJ said...

@James:

Thanks, that's a great link, don't know how I missed it :-)

Some of the categories are rather broad, though, so I might still do another post on things that I miss from the full edition.

One thing that I really think should be included in all editions, and *especially* the express editions is unit testing - it should be such a basic part of programming that we should be making it really easy for beginners and hobbyists to start doing it.

 

Post a Comment

<< Home