I am looking at features of different versions of Visual Studio and I less and less understand how and why is the quality of software handled as fun of few seasoned professionals. Although Visual Studio is best development platform I have ever seen I really don’t understand why Microsoft hates people who want to provide quality to their customers.
Usually n00bs and start-ups start with minimum versions to get their work done. Many of them start with some version of Visual Studio Express or cheapest one of the full versions. These products have this far caused me hell load of problems because specially n00bs have no way how to control or measure the quality of their work. n00bs make also a lot of stupid mistakes and they need some way to rollback those mistakes. And don’t forget how many other mistakes n00bs can make. Now let’s put it all together and see how hard is for n00bs to get started their professional life on Visual Studio.
- No advanced debugging – there is IntelliTrace but not for guys who need it at first years almost every day. They have to waste their and their seniors time to get mysteries solved. I need IntelliTrace rarely because usually stack trace of Exception is enough for me. But I have seen n00bs who try to debug their applications using only message part of exceptions. IntelliTrace is only available with Visual Studio Ultimate.
- No versioning support – SVN, Git and other version controlling systems are must-be in today’s software development. I cannot see this in Express editions of Visual Studio. Guys come from universities and they have no idea how to save their work and how to rollback the changes they don’t really need. Well… if we take Eclipse then it is only matter of minutes to get connected to some version controlling system.
- No support for database projects – you must be very professional guy if you want to be able to develop your databases as integral part of your project. At least so good that seniors agree to buy you at least Premium license of Visual Studio 2010. On all other versions of Visual Studio 2010 you have to manage your database versions manually. Okay, I have seen what it means specially for younger d00ds who come from schools.
- No testing support – another must-be thing is integral support for some testing framework. This far I have seen no testing support in Visual Studio Express editions and I still wonder why n00bs on MS platform are forced to produce crap – forced by money and sick marketing politics. If I take Eclipse… well, you can start with tests after couple of minutes. And using some hacks I can make nUnit work with Express Editions too, but is it normal?
- No code metrics – code metrics is also there to help only guys like me who are coding dinosaurs and know without Visual Studio what is the current state of code. N00bs are usually not able to write code like pros and for them measuring code quality daily is mandatory. Code metrics are available starting from Premium Edition of Visual Studio. Well… those who are starting must be wiser than pros to get their job done. Seems like not very normal situation to me. Okay, I solved the problem with NDepend and I am happy with it.
- No support for profiling – well… same stuff as previous. It is something that also beginners need to do and still they have to find other ways how to do it. Like using some external frameworks, struggling with them and wasting time instead of getting wiser and smarter on mainstream tools.
I don’t think that all these features must me 100% available for “smaller” versions but at least some level these features must be there. It is awful waste of time right now to get n00bs work at Visual Studio if you don’t want to buy a lot of money and still you need external tools to accomplish some team tasks (I have very good CI story to tell that ends with simple question – why TFS when I have working solution for free that takes less time to set up and manage then TFS?).
I think that instead of building another tools like WebMatrix Microsoft should put their focus heavily on quality topics for couple of years and work out all editions of Visual Studio (and other development tools) with software quality as most important goal in their mind.