What do you want in the next version of VS/C# (part 3)
Ok, a day passed and there were very few updates made so I thought I'd push this forward. Now it's time for everyone to vote to help get an idea about how interested people are in these features. Use the contact link to send your votes in. I'll tabulate them and let everyone now what the results. Of course, this doesn't mean we'll definitely do them, but it will help us understand better how people feel.
Here's how I'd appreciate the votes to come in:
- Put the word "voting" in the title of the message (like "voting on c# features"). It will help make sure that i don't miss any messages
- Break the features into things you definitely want and things you definitely don't want. If you leave something out I'll assume it's something you don't care about. I'd also appreciate comments on this as well. If you want something, why you want it. If you don't want it, why you don't want it. Those of you who already gave reasons in the thread are exempt from this. This part is totally optional, but it will help tremendously in understanding the reasons why people want the feature. The “why” part is really important for us so that we can examine everything we're doing and determining if they're things that will help you.
- For the features you want rank them in the order of how important they are to you. Make the feature you want to see the most as '1', then the one you'd want to see next with '2', etc.
That's it. Just pick the features and then rank them :-)
If you don't see what you want in the list just include it in the email.
Comments
- Anonymous
June 22, 2004
I want a "with" statment in C#.
Missing it is the only thing that sometimes makes me whish I was progrmamming in Pascal again - Anonymous
June 22, 2004
Kees, what would you do with the "with" statement. - Anonymous
June 22, 2004
Please, no "with" statement. In theory a good idea, I simply have read too much bad code MISusing "with". - Anonymous
June 22, 2004
I'd like to see something like forall(<collection>|<array>) do function(<object_param>). It would cut code and mabye more efficient than foreach() { call fn() }. - Anonymous
June 23, 2004
The comment has been removed - Anonymous
June 23, 2004
What do I want in the next version of VS?
An espresso maker powerful enough to land a donkey on the Moon. - Anonymous
June 23, 2004
My biggest pet peeve with VS right now is how slow the Forms designer gets with a complicated GUI. I'm on a reasonably fast machine (Pentium 4, 1.8 GHz) and sometimes it's taken up to 30 seconds to go between the designer and the code because it is updating. (Although on one hand it does force you to separate as much stuff from the GUI as possible :-) )
One thing I like in Snippet Compiler is when you select or highlite a bracket of some kind (ie. { [ () ] } ) it outlines both the opening and closing bracket for that set. I don't necessarily like the way Snippet Compiler highlites the bracket (a red outline), and prefer just a simple bold like VS uses when a bracket is closed.
Speaking of brackets, the ability to collapse a region from the ending bracket would be awesome.
Another thing would be an easier way to create modeless dialog boxes.
Thanks for the ability to vocalize this! - Anonymous
June 23, 2004
Did somebody already mention Aspects? like AspectJ? - Anonymous
June 23, 2004
tail recursion - Anonymous
June 23, 2004
Laura: How is:
forall (collection) do function(blah) better than.
collection.ForAll(function);
?
That's supported with the new Whidbey generic collections - Anonymous
June 23, 2004
The comment has been removed - Anonymous
June 23, 2004
Kevin: We can land a haiku on the moon. will that work? - Anonymous
June 23, 2004
The comment has been removed - Anonymous
June 23, 2004
Sam: Yes, we've been discussing aspects. What are you interested in aspects for? We're thinking about more powerful systems that would be able to do more than aspects are currently capable of. - Anonymous
June 23, 2004
Andreas: Tail recursion is supported in the runtime. - Anonymous
June 23, 2004
please say no to the vb style with statement. There are already enough code obfuscators available. - Anonymous
June 23, 2004
Right-click close to a brace and select command "Select block" or "Highlight block". This could inclusively select everything from the brace to the matching one. - Anonymous
June 23, 2004
> Laura: How is:
>
> forall (collection) do function(blah) better than.
> collection.ForAll(function);
>
> ?
>
> That's supported with the new Whidbey generic collections
Sorry, I did not read the docs very well. I missed the ForAll() method.
But still I'd see forall()..do a better, first of all for readability. For me (IMHO) the collection.ForAll reads 'collection, do this'. forall() I'd read 'for every x in y do this', which describes better what I'm doing. For me. Also forall() doesn't imply only collections..?
Also, with forall() (as I'd imagine it), i could put a function inside the forall() to return a filtered collection, forall(getXCollection(baseCollection)) do x(). - Anonymous
June 24, 2004
Laura: Whoops. I meant to say:
collection.ForEach(function);
not ForAll. ForAll takes a predicate and returns true if teh predicate is true for every element in the collection.
Does that name work better for you? - Anonymous
June 24, 2004
Aleksei: ctrl-shift-] will do what you're asking. It will inclusively select everything from the brace to the matching one :-) - Anonymous
June 24, 2004
The comment has been removed - Anonymous
June 24, 2004
The comment has been removed - Anonymous
June 24, 2004
The comment has been removed - Anonymous
June 24, 2004
The comment has been removed - Anonymous
June 24, 2004
The comment has been removed - Anonymous
June 24, 2004
Laura: Too true...
What's funny is that I'm usually the one voting for "let's just have one way to do this!!"
The problem is when you have the existing feeatures that you'd like to get rid of. For example, I'd just prefer to get rid of "foreach" and have "ForEach" instead. :-)
However, with the blog I like to play devil's advocate a lot. If you can convince me, then I'm going to definitely push for those features more. - Anonymous
June 24, 2004
Laura: Too true...
What's funny is that I'm usually the one voting for "let's just have one way to do this!!"
The problem is when you have the existing feeatures that you'd like to get rid of. For example, I'd just prefer to get rid of "foreach" and have "ForEach" instead. :-)
However, with the blog I like to play devil's advocate a lot. If you can convince me, then I'm going to definitely push for those features more. - Anonymous
June 24, 2004
Oh, and yes, lots of responses so far. When it dies down I'll give out the results. - Anonymous
June 24, 2004
Cyrus: I know, existing base is quite often a sad story.
I might not have convinced you (?) but at least we do agree.
Hopefully the release date remains the same. ;-)
Laura - Anonymous
June 25, 2004
The comment has been removed - Anonymous
June 25, 2004
The comment has been removed - Anonymous
June 25, 2004
Shadow: I completely understand the need for such an event. My comment about the virtual "Initialize" was prompted by teh current state of affairs (plus my experience with Objective-C). I believe that this is something the CLR is considering for this exact reason. - Anonymous
June 26, 2004
Cyrus: Regarding Aspects, in my current project, I have an MVC Controller in which every method basically does
public void DoSomething()
{
// enter monitor
// acquire read lock
// check some state
...
// release read lock
// exit monitor
}
I have about 20 different methods which repeat this pattern. I couldn't think of any way to refactor this further other than creating some sort of before/after/around Aspect. I managed to wrap up all that logic in a using{} statement but Aspects would still be cleaner I think. - Anonymous
June 26, 2004
Sam: I am intrigued by this. The normal use of an aspect it to provide some orthogonal concept to your code that isn't related to the core idea. Like logging. I've never heard of threadsafety as part of that orthogonal concept.
(BTW. Why do you need the monitor and the read lock?)
I'm curious... with an aspect, it would be completely unclear to a reader of your code that it was threadsafe. Is that a good idea? (seriously)
I'm quite curious...
IMO (which could be very wrong), i would actually prefer to see:
public void DoSomething()
{
using (thingThatMakesThisThreadSafe.Acquire())
{
Something();
}
}
That way it's completely clear what's going on. - Anonymous
June 28, 2004
The comment has been removed - Anonymous
June 28, 2004
Microsoft.CSharp.CSharpCodeProvider.CreateParser should return a working CodeDom parser instead of null. - Anonymous
June 29, 2004
The comment has been removed - Anonymous
June 29, 2004
Rick: I've sent this feedback to our User Education team. They're trying very very hard in this area to make the docs correspond to what you intended. - Anonymous
June 29, 2004
Sascha: Yup, lots of people have asked for that as well - Anonymous
July 10, 2004
Concure with Microsoft.CSharp.CSharpCodeProvider.CreateParser and CreatParser
but same for...
Microsoft.VisualBasic.VBCodeProvider
Microsoft.MCpp.MCppCodeProvider
Microsoft.VJSharp.VJSharpCodeProvider
Hay, do you see a pattern here...
ALSO:
Regex should support working with Streams natively (don’t just load the whole thing in memory, heck I can do that). Thus allowing Regex to be run against really large files. - Anonymous
June 01, 2009
PingBack from http://indoorgrillsrecipes.info/story.php?id=3685