Visual Studio 2005: Actually Quite Nice!
First off, I should come clean: I cut my eye teeth on Borland tools. This is possibly the worst way to start off programming, because everything feels like a Huffy. I first started programming (not including the HyperCard animations) with Delphi 1. The VCL and many other aspects had been designed by Anders Hejlsberg, and–compared to the other applications used to write programs with UIs–it was heaven. But Anders went to Microsoft, and Borland… well, Borland’s still Borland: marginal.
Wikipedia’s article on Delphi puts it best:
Persistent doubts about the long-term future of Borland have made its products seem too much of a risky proposition for many employers, leading to shrinkage of the job market for Delphi programmers.
And how. But still, Delphi and the VCL still has a sense of rightness to it; if God had sat down to make a language, IDE, and RTL, I still think He would have made Delphi. The vast majority of IDEs I’ve used so far have seemed like glorified text editors. “Oh, how cute: a compile button that asks me where the compiler is.” They work, of course, but it takes more for me than highlighting the matching bracket to make a tool worth using.
I have friends who started off using vi and duct tape. They’d be happy with a set of crayons, some construction paper, and some bearded guru type who would grunt once for “successful compile” and twice for “unsuccessful compile.” These are the guys whose code usually has a log of conditionally compiled println("I'm in the do_something_right() function");-type stuff in it.
I’m not one of those guys. I grew up with Delphi, and I need a big IDE with a truckload of project management tools and a small town full of UX designers under the hood. I want my IDE to refactor my code for me, and I want a huge-ass help database a few keystrokes away. I want a debugging interface which lets me see everything but doesn’t bury me in hex dumps. And most importantly, I want something which doesn’t make developing a decent UI a total chore. Programs that have UIs which were laid out in the editor look, unsurprisingly, like they were written via morse code. Visual processing, from the very first fart of the feature detectors, is non-sequential, unlike a list of create-control-set-position-set-size instructions. Writing “button goes here” doesn’t work as well as actually putting the button there.
So given my total pickiness when it comes to development tools, it’s kind of a surprise that Visual Studio 2005 Beta 2 feels like coming home. It shouldn’t be a surprise, since C#/.NET is what my man Anders has been working on for the past 9 years, but still–VS2003 was decent but still clunky, mixing static display code with behavior code. VS2005, while a bit bloated, is a joy to work with. The guides which pop up when moving elements around the screen are so helpful in laying out a window according to HCI standards that I’m surprised it hasn’t already been done. The code suggestions scare me sometimes (”How did you know I wanted to do that?”) and it never feels like an unadorned cousin of Clippy.
It’s just a beta, and I’ve only spent the day working with it, but from now on, my primary tool in working with Windows applications will be Visual Studio 2005. I didn’t think you had it in you to make me think of Delphi as quaint; well played, Microsoft… well played.