Our small engineering office is considering a move to .NET from visual studio 6.0. I have not used .NET yet, and have gathered information anecdotally. I am excited about the new technology like everyone else but I'm thinking of advising caution, or at least a very gradual phasing out of 6.0, for the following reasons:
(I'm scoring this high to collect as many thoughts as possible; if I'm lucky and this starts a lively discussion, I will split the points among the helpful or thought-provoking responses.)
* we have lots of expertise in VS6.0 which will be forfeited on the move (because .NET is very different then 6.0) (in fact my first project with any drastically different technology is always subpar -- so I'm going to pick that battle carefully)
* we still have lots of legacy code in visual studio 6.0, and we need to retain expertise in it (again, because .NET is very different)
* about one-third of our software is QA/safety software, bugs are very bad. My instincts tell me that it pays to stay with a more established framework -- simply more mature, fewer bugs
* in order to deploy your .NET apps to a new platform with most current windows OSs, you have to install a big .NET framework component (like you used to have to do in the early 90s for the VB engine) (true?); this will not be true with new windows releases to be sure, but this is a consideration right now
* Microsoft office uses VBA, which is only (as far as I know) VB6.0 based, not .NET based. It helps us (we do a fair amount of quick-and-dirty excel, access VBA stuff) to stay in sync with that.
* VS6.0 isn't going anywhere -- there are still more people making new code with it than with .NET (true or false?), and there is still more support for VS6.0 than .NET (for example, on this fourm)
Any thoughts? Are any of these plain wrong? Are the overwhelming advantages? How fast should we move from 6.0 to .NET? Please, any thoughts are welcome.