Who does Microsoft talk to when they have questions?
In the comments to my “What's coming up in C# beyond Whidbey”, RichB makes the following comment:
I sometimes wonder who Microsoft ask for these opinions. I suspect it's internal Microsoft developers and Wintellect/DevelopMentor trainers.
With all due respect, these type of people are not your average C# programmer. In the 3.5 years I've been coding in C#, I've yet to work with anyone who wasn't bothered about E&C.
This is an interesting topic, and Rich brings up another topic that I'll touch on a bit later.
There are three sources that we use for this sort of information. The first is a small group of users that we meet with on a regular basis. This group is a rough cross-section of our target users, and there are no internal Microsoft developers on it. IIRC, we have one person who is a trainer.
The second source is by talking with customers through email, on newsgroups, at user groups, and at conferences.
A third source of data is the information that we get by watching C# users program in our usability lab. We can examine, for example, whether a specific C# user programs in a way that E&C would be beneficial.
The feedback we got around E&C has been fairly polarized. There is one group who feels the way Rich does, and really wants E&C. There is another group that actively doesn't want E&C, as they feel that it encourages the wrong kind of programming. And then there's a group in the middle who typically see the value of E&C but don't think it's critical.
Rich also brings up another interesting point. Given two features of equal utility, we will try to favor the one that can only be done by Microsoft, and not by a third party.
In the case of refactoring, however, there are two considerations:
- Because the C# IDE has very good information about your code, it can do a better job at refactoring, and provide features such as cross-project rename.
- Refactoring can provide a large increase in productivity. While it's true that users can buy a third-party add-in, many customers have told us that they expect Microsoft to provide features such as refactoring, and not force them to buy a third-party tool
I hope that makes it a bit clearer. We are hoping to do some things to expand the group from which we gather such feedback.
Comments
Anonymous
March 16, 2004
I can vouch that I did a series of usability activities over the internet for a Whidbey feature with Placeware. My contact in Redmond would give me a task or two to complete in Whidbey, and would then take a screen recording as I did it. She took notes on all my thoughts on things as I moved through the activity, and I actually did see tangible results from all this.Anonymous
March 16, 2004
> Given two features of equal utility
You did not count how often you do need the Refactoring. IMHO i will rarely use it on a daily basis and perhaps sometimes weeks can pass without even touch it.
OTOH E&C will be (if and when C# makes it available) used by my team on a daily basis solving many of bugs, or testing edge conditions.
Add to this
1)Refactoring makes life easier but you can refactor your code without it
2)Many (if not all) refactoring actions require a full rebuild before they can be used, narrowing its RAD features
3)Fails on complex projects, where none of the coders of an application have write access to all the source code
makes me strongly disagree that Refactoring and E&C are "of equal utility" as you saidAnonymous
March 16, 2004
Yeah,to the last opinoin_ Refactoring
I eagerly need Microsoft to integrate the AspNetMenu, DateTimePicker to the Asp.net .
Cause when I need this two web controls,there is some strange question on these!Anonymous
March 16, 2004
Panos Theofanopoulos wrote:
>Fails on complex projects, where none of the
>coders of an application have write access to
>all the source code
In a complex application with several developers it is easier to use a source control system which doesn't lock all files whenever a developer is working on a file.
Many source control systems support this way of working:
Perforce (used by Microsoft, but called SourceDepot)
CVS
Subversion
SourceGear Vault
and even Visual SourceSafe can do this.
You tend to need a good Merge tool to support this type of development - I've found the Perforce merge tool lacking a little, SourceGear have historically never shipped a merge tool. SourceSafe's merge isn't bad actually, but the best is Araxis Merge.Anonymous
March 16, 2004
The comment has been removedAnonymous
March 16, 2004
There is a great lyric in a Jay-Z song titled "99 problems" that goes something like:
If you don't like my lyrics you can always hit fast forward.
This is not the first time this notion has appeared in music, or in other arenas of the public consciousness, but it emphasizes the point I am trying to make regarding E&C in C#.
Basically, put it in, and turn it off by default. As long as the feature doesn't impact performance (it shouldn't) or the stability of the system, then people shouldn't complain. They can always opt to not use it. Since the CLR itself has to be modified to handle E&C, many debugger interfaces for many managed languages are going to benefit from this. You can always have the IDE not expose the feature by default (turn it off for C# developers and on for VB developers).Anonymous
March 16, 2004
I guess instead of MS Employees polarizing on the E&C issue, maybe they should listen to what the customers (.Net Developers) want. If there is a need then this makes good sense from a marketing point of view. Just my thoughts.Anonymous
March 16, 2004
The comment has been removedAnonymous
March 17, 2004
I believe E&C to be more important than Refactoring: The debugger and its interfaces for E&C need to be supported (extended) by Microsoft. A plugin or third party AFAIK can't extend the debugger/CLR to support E&C.
Refactoring on the other hand can be performed by any plugin. The interfaces in VS.NET as well es the CodeDOM and assembly metadata provide all knowledge necessary.
I think this is a decision, which is simply made wrong. May be the effort for Refactoring is less than for E&C so its implementation was commercially easier to do?
The other part, which strongly makes me believe that refactoring is wrong as used is that refactoring should only be performed via a case tool as visio, rational xde or may be microsofts next gen tool. The reason for this being that the refactorings supported on current Whidbey builds are simple and not enough compared to other tools and their support.
Just my €0.02 on the decision.Anonymous
March 17, 2004
You geeks, spell things out ! At least once. I read the whole post and all the feedbacks and still don't know what this "E&C" thing is.
I thought about it and came up with "Edit and Continue", which seems to fit the context. And if I'm right, I could guess it only because I code in C++ and accidentally used that feature before. For someone who's never used it, you're creating a lot of confusion here.
Anonymous
March 17, 2004
Only point I would like to make.
VB.net team supported generics some forms of refactoring, Partial classes. and Edit and continue.
nuff said.Anonymous
March 17, 2004
Douglas:
Now that VS2005 has been delayed, VC# team has more than enough time to deliver E&C also :-)Anonymous
March 17, 2004
"Refactoring can provide a large increase in productivity. While it's true that users can buy a third-party add-in, many customers have told us that they expect Microsoft to provide features such as refactoring, and not force them to buy a third-party tool"
No offense, but many customers have also said that they expect E&C to be built in. I'd guess it'd be harder for a third part to do E&C, so it seems to make more sense for Microsoft to do that and let third parties (since they already have) do refactoring for now. Alas, Microsoft disagreees.Anonymous
March 17, 2004
The comment has been removedAnonymous
March 17, 2004
Jeff:
Since refactoring is so much powerfull, how long will take to "refactor" VB E&C to C# E&C ?
One hour, two, one day or one week ?
When/If will be delivered, you are free not to use it
PS. The feature is called Edit & Continue and not FixSomeBug & Continue. You may not use it for debugging onlyAnonymous
March 17, 2004
Remember that refactoring is primarily of interest to those who do TDD (Test Driven Development) and test their software with automated tests (like with NUnit). Without a good set of tests already in place, refactoring is extremely difficult. It is probably more important to start testing first, and then after that is in place try refactoring. At that point, you will probably find that refactoring is more fun than Edit & Continue ever was. For more info see Kent Becks Extreme Programming Explained book. C# is an excellent tool in the hands of the extreme programmer. I've been refactoring with VB .net and C# for about two years now. It's powerful.Anonymous
March 18, 2004
> If you have good unit tests,
> why do you need E&C?
There's a reason companies hire contractors: they either don't have enough perm people, budget reasons (capital vs O&M), or they don't do things correctly themselves. I see a lot of the latter any any case and it results in huge bug hunts. In a perfect world, yes...there would be a great architecture up front and lots of unit testing being done before people check things into VSS. But that happens in the minority of cases - it's not a perfect world. Iterative development doesn't always turn out picture perfect like an MSDN sample. All I'm doing is giving my own customer feedback telling the C# team that edit-and-continue would be helpful and a nice productivity tool. Whatever comes of it - fine. Either way, I still love C#, plus I'm paid by the hour. :-)Anonymous
December 27, 2004
[http://itpeixun.51.net/][http://aissl.51.net/][http://kukuxz003.freewebpage.org/][http://kukuxz001.51.net/][http://kukuxz003.51.net/][http://kukuxz005.51.net/][http://kukuxz002.51.net/][http://kukuxz004.freewebpage.org/][http://kukuxz007.51.net/][http://kukuxz001.freewebpage.org/][http://kukuxz006.51.net/][http://kukuxz002.freewebpage.org/][http://kukuxz004.51.net/][http://kukuxz008.51.net/][http://kukuxz009.51.net/][http://kukuxz005.freewebpage.org/][http://kukuxz006.freewebpage.org/][http://kukuxz007.freewebpage.org/][http://kukuxz009.freewebpage.org/]Anonymous
June 12, 2009
PingBack from http://greenteafatburner.info/story.php?id=1478Anonymous
June 15, 2009
PingBack from http://mydebtconsolidator.info/story.php?id=3607