Wednesday, February 13, 2008

Visual Studio: Yesterday's technology today.

Firstly before I start ranting. This is based on Visual Studio (hereafter referred to as VS) 2005 not VS 2008. However from what I understand VS 2008 is an evolutionary step forward so I don't expect it to be mind-blowingingly awesome.

Now for the "review"...

One area in the Java world that truly has benefited from the communal nature of Java is the IDE space. Unhampered by the rest of the BS in Java world organisations like Jetbrains, Eclipse and Netbeans have thrown down the gauntlet and fought each other tooth and nail for the crown of the best Java IDE.

Most Java IDEs have a sort off defacto feature set which you have to have otherwise you can't really call yourself an IDE. Many of these features have been present in IDEA and Eclipse since 2002.

Now it's important to realise that M$ has always touted VS as the worlds best IDE bar none. You would think that this claim would as least be justified.

After working in VS it unfortunately falls hopelessly short of fulfilling this lofty statement.

Here is a list of the features missing that you will find in any of the Java IDEs:

Decent refactoring, VS supports rename and extract method.... and that's about it.

Invalid syntax highlighting, (JBuilder circa 1998).

Property generation (JBuilder circa 1998).

Inline expression execution during debugging (only watches, back to the nineties...).

Variable name inference.

Code inlining.

Intelligent context sensitive code generation for errors, loop blocks, selection blocks and exception blocks (alt-enter from IDEA and Netbeans).

Navigation by Class or file name lookup (hello M$ this the 21st century...).

Being able to check - and navigate - to implementations of interfaces and classes. The best you have in VSS is search by reference which also includes all the other gunk such as imports and constructors.

Being able to collapse the project tree in the project explorer (you can write a macro though, now I feel a geek...)

Lack of a predefined template for files so you that can have default comments and headers in files (you can write a code snippet though)

I don't know if this is a bug, but if there is a shortcut to navigate from the code window to the relevant file name in explorer window, it doesn't however work if you set the explorer window to hide when it loses focus.

No built in support for Test Driven Development, you have to install NUnit which runs as a stand alone application from within VS.

No yanking lines of code or moving of lines code within an area.

You can navigate back and forward by your last editing position but not by file or by open files.

VS also has these annoying hangups every now and again where it just grinds to a complete halt, also as I am writing this blog entry, my VS 2005 process is using 484Mb of memory. Not half bad for a natively compiled application written exclusively for Windows by M$

It also takes several hours to install, I really don't know what the heck M$ is doing here to supposedly copy some files.

The worst part of all is that VS is horridly mouse driven and the mentality of M$ developers seems to be that this is somehow better and more productive. consequently most developers can't even tell you many of the productivity hints VS does have.

Lack of a centralised plugin repository. I miss my Daily Dilbert plugin from IDEA.

This is a just a sample of VS deficiencies which could fill several posts. On reflection is obvious that VS suffers from a nineties RAD driven philosophy and as a result M$ is playing catchup with code centric Java IDEs in a non RAD world. It seems that M$ is slowly fixing this but I doubt it will be at the rate that features are cranked out in the Java world without a culture change.

No comments: