Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What do you want in the next version of VS/C#

What do you want in the next version of VS/C#

Scheduled Pinned Locked Moved The Lounge
csharpvisual-studiocomannouncement
63 Posts 17 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Member 96

    Number 1 was support for edit and continue? Are those people high on drugs or something? Who the hell ever used that when it was available previously? Any of 100 other things woud be more important to me, how about the ability to collapse a defined region in the editor from the bottom of that region as well as the current top of the region? Just for starters. What a wierd survey, I suspect that people got together and jammed the ballot box so to speak because I can't imagine that being a top priority for the averge c# programmer.


    An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

    M Offline
    M Offline
    Metasyntactic
    wrote on last edited by
    #42

    John: "What a wierd survey, I suspect that people got together and jammed the ballot box so to speak because I can't imagine that being a top priority for the averge c# programmer. " There was no ballot stuffing. I got individual responses from real people. Almost all of whom justified why these were the features they wanted. If you read the original post on this you will see that I asked for that as part of the submission. That way I wouldn't just get votes from people saying "i want that because it's nifty" -- Cyrus (http://blogs.msdn.com/cyrusn)

    1 Reply Last reply
    0
    • M Member 96

      Hmmm...well I work with business objects and they are broken down into 5 or 6 defined regions where similar code is grouped, I constantly (currently: all day hundreds of times a day) need to open up those regions to make modifications, when I'm at the bottom of a region that is 500+ lines of code long, it would be nice to simply collapse that region from the bottom, but I have to scroll up and find the top of it then collapse it so I can find the other regions I need to work on.


      An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

      M Offline
      M Offline
      Metasyntactic
      wrote on last edited by
      #43

      John: That's interesting. I wrote an earlier post on how features could be harmful. One of the direct examples I used (along with E&C) was using regions to mask complexity in code and to make it appear simple. A 500+ line region indicates to me a bad code smell. Making regions and collapsing more advanced isn't necessarily the best thing to do in these cases. There is often a trade-off between power and risk in any IDE feature, and we work very hard to try and make it so that people will get the most benefit out of features without abusing them -- Cyrus (http://blogs.msdn.com/cyrusn)

      1 Reply Last reply
      0
      • H Heath Stewart

        At least half of those are either not possible (like the stupid "throws" clause Java devs keeps bringing up that isn't even supported by the CLI) or plain stupid (like "C#=Vb"). I agree with Nish.

        Microsoft MVP, Visual C# My Articles

        M Offline
        M Offline
        Metasyntactic
        wrote on last edited by
        #44

        Heath: Why are these not possible? One could have easily said the same about the previous most requested item "generics". It wasn't supported by the CLI, but we got it done anyways. If you read the previous posts on this topic you'll see that items were split into categories. Specifically, items the C# team could do on its own. Items that the C# team would work with others on. And items for other teams to work on. As to C#=VB. You might want to look in the feedback section for the previous posts on this topic. If you feel that it is a bad idea, please voice your opinion as to why, and tell us if you find fault with the reasoning that people are currently giving. The purpose of the blog is to find out what the community feels/wants. If you don't raise these issues there, then we run the risk of taking an idea here that you don't like and running with it. -- Cyrus (http://blogs.msdn.com/cyrusn)

        H 1 Reply Last reply
        0
        • H Heath Stewart

          It's actually in the comments, but it has come up many, many times and addressed almost as many times. But there are many other examples. Some questions - like support for checking enum values - is already supported (using the Enum type). All I'm saying is that many of those requests (not all, but many) are posed by people that clearly don't understand C# and the .NET Framework (whatever aspect of it). Heck, from my experience most programmers don't even understand the whole C#/VB.NET/etc. -> compiler -> IL -> JIT compiler -> native code concept yet. :rolleyes: Some other things on there would be nice, but at what cost? Sure, actually returning an ICodePraser from CodeDomProvider.CreateParser() for C# and VB.NET (they currently return null, or at least the C# provider does) would be nice (and would facilitate syntax highlighting using compiler features), but I'd rather have a stable BCL and good, solid language (with only reasonable changes) than a bunch of features that third parties can provide. I think a lot of requests just come down to the fact that people are getting too lazy (just look at the enhancements to IntelliSense for proof).

          Microsoft MVP, Visual C# My Articles

          M Offline
          M Offline
          Metasyntactic
          wrote on last edited by
          #45

          Heath: I'm going to have to disgree with you on this. The features that people requested were much talked about and were made by people who do understand both C# and the .NET Framework. Note: The items in the list are just summaries because I didn't want to use up too much space. "support for checkin enum values" goes beyond what is currently possible with the Enum class, etc. Could you tell me what enhancements to intellisense are intended for lazy people? On the intellisense team we try to think of things in a code focussed manner. A person is sitting in their code trying to get a specific job done. Everytime we force them to get distracted and work on something else (or navigate elsewhere) that means they can't be as focussed at the job at hand. We feel that reducing these annoyances goes a long way to making people more productive developers. I love to hear more on your opinions, however, so would a lot of other people as well. You are free to add feedback to these posts on my blog -- Cyrus (http://blogs.msdn.com/cyrusn)

          H 1 Reply Last reply
          0
          • W wrykyn

            Did some penguins spam the survey to prevent C# from evolving the way we want it ? :suss: "I believe I referred to her personality as a potential science exhibit." - Elaine, about Ellen, in "The Dog"

            M Offline
            M Offline
            Metasyntactic
            wrote on last edited by
            #46

            Ramanan: No. If C# is not evolving the way you want it. Then get involved with the C# team by providing feedback on our blogs. You can also go to http://msdn.microsoft.com/ProductFeedback to report issues or sugggestions. All of these will be addressed and responded to. The purpose of the blog (as I have stated in posts in it) is to try and get closer to the xP ideals of communication and feedback. The belief is that with both you end up with the product the customer wants. However, if you don't participate in that then we won't know if we're going down the wrong path for you -- Cyrus (http://blogs.msdn.com/cyrusn)

            M W 2 Replies Last reply
            0
            • D Daniel Turini

              Marc Clifton wrote: Wow. Aspects was at the bottom of the list. Besides logging and asserting, what useful can you do with AOP? BTW, you can do most of these things dynamically by implementing a Decorator pattern. Yes, even I am blogging now!

              M Offline
              M Offline
              Metasyntactic
              wrote on last edited by
              #47

              Marc/Daniel: I want to second this. This exact question came up on the blog: "what would you use aspects for". There were no good responses. In the end people wanted more flexibility anyways and the feature "allow attributes on more locations" seemed to subsume it. We'd like to get this functinality in a way that encapsulates Aspects and things like Pre/Postconditions in a natural way without overly affecting the language negatively. -- Cyrus (http://blogs.msdn.com/cyrusn)

              1 Reply Last reply
              0
              • M Metasyntactic

                John: "Are those people high on drugs or something? Who the hell ever used that when it was available previously?" If you read many of the previous posts made by myself or jaybas_ms, you'll see that there is indeed a large number of people who want this feature. Coming from a java background, I've used this myself. And, of course, in language environments like Smalltalk/OCaml you just get this naturally. For many, the ability to have edit and continue is a great boon to a common problem that occurs in the development cycle, namely that it's a cycle and it can take a long time to return back to a certain point. Anything you can do to reduce that time can be a benefit. Also, there are many (as I have learned) people who use E&C as a means to explore the system. How does a certain function respond to certain inputs? I dunno, I'll just fire up and app and try it out on all the inputs I want. It's very handy for prototyping out behavior and then implementing it once all the niggling questions have been answered. -- Cyrus (http://blogs.msdn.com/cyrusn)

                M Offline
                M Offline
                Member 96
                wrote on last edited by
                #48

                I see you have an argument for it, but it just seems wrong to me on so many levels. If code is properly broken out into component pieces as it should be it's not a big deal to recompile and retest a small portion. On the other hand, I guess if you have a huge method that contains thousands of lines of code which really should be broken into 10 other methods then I can see some use for it. It just seems like an answer in search of a problem to me, but maybe I don't code the same way as you guys do.


                An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

                M 1 Reply Last reply
                0
                • M Metasyntactic

                  Ramanan: No. If C# is not evolving the way you want it. Then get involved with the C# team by providing feedback on our blogs. You can also go to http://msdn.microsoft.com/ProductFeedback to report issues or sugggestions. All of these will be addressed and responded to. The purpose of the blog (as I have stated in posts in it) is to try and get closer to the xP ideals of communication and feedback. The belief is that with both you end up with the product the customer wants. However, if you don't participate in that then we won't know if we're going down the wrong path for you -- Cyrus (http://blogs.msdn.com/cyrusn)

                  M Offline
                  M Offline
                  Member 96
                  wrote on last edited by
                  #49

                  Metasyntactic wrote: You can also go to http://msdn.microsoft.com/ProductFeedback to report issues or sugggestions. All of these will be addressed and responded to. That's funny because a few months ago I asked here if anyone knew where to make suggestions for c# and the IDE and no one else had a clue either, it's good you posted this here because it seemed to be a bit of a mystery to a very large group of regular users.


                  An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

                  M 1 Reply Last reply
                  0
                  • M Member 96

                    I see you have an argument for it, but it just seems wrong to me on so many levels. If code is properly broken out into component pieces as it should be it's not a big deal to recompile and retest a small portion. On the other hand, I guess if you have a huge method that contains thousands of lines of code which really should be broken into 10 other methods then I can see some use for it. It just seems like an answer in search of a problem to me, but maybe I don't code the same way as you guys do.


                    An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

                    M Offline
                    M Offline
                    Metasyntactic
                    wrote on last edited by
                    #50

                    John: I come from a background using languages where there is no code/compile/link/debug/stop/code/compile/link/debug cycle. Instead, there's just coding. It's amazing how much time gets wasted waiting for these stages, and how productive you can get when you eliminate all of them and just let a developer develop :-) Note: In C++ today linking itself (not just the compile) is at the fastest on the order of 2 minutes. That means that at a maximum I can only relink 30 times an hour. Now, if I'm unlucky i'll make a chance that causes a full (or large) rebuild of our source which cane take around 5 minutes. That means that making a single change can end up wasting ~7 minutes of my time. not to mention the time that's lost if I need to get to right stage in debugging. However, I notice that in C# i don't need this functionality? Why? Because I use unit tests and never have methods longer than 1 or 2 statments long. I use many small classes with many small methods that are tested very carefully. Because of this I've never found the need to step into the debugger to tell what's going wrong. However, I am not representative of our customers. The debugger and debugging experience is a crucial part of the cycle for them and if we can add a feature that significantly improves that experience for a majority of them, then we will strongly consider it. Given the work I do in C++ i can certainly see why they would want this. -- Cyrus (http://blogs.msdn.com/cyrusn)

                    1 Reply Last reply
                    0
                    • M Member 96

                      Metasyntactic wrote: You can also go to http://msdn.microsoft.com/ProductFeedback to report issues or sugggestions. All of these will be addressed and responded to. That's funny because a few months ago I asked here if anyone knew where to make suggestions for c# and the IDE and no one else had a clue either, it's good you posted this here because it seemed to be a bit of a mystery to a very large group of regular users.


                      An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

                      M Offline
                      M Offline
                      Metasyntactic
                      wrote on last edited by
                      #51

                      John: I highly recommend blogs.msdn.com. You'll find a lot of people from teh developer devision at MS who are posting a lot of information and who are all soliciting feedback. At this point everyone is trying to get feedback on the 2005 Betas so that we can make changes in time to ship on time. Now's really the time to let us know. If you don't, then it'll probably be on the order of a year later until we could do anything about it :-) -- Cyrus (http://blogs.msdn.com/cyrusn)

                      1 Reply Last reply
                      0
                      • M Member 96

                        Um...you do realize were talking about c# here right? And were talking about the number one most requested feature addition right? ;P


                        An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

                        R Offline
                        R Offline
                        Ray Hayes
                        wrote on last edited by
                        #52

                        Whilst you were talking C#, I have become used to the fix-and-patch style of coding. As I said, it can take a while (as much as 15 minutes) to get my scenario in a state where it exhibits the bug... when we fully port the code to C# the issues will be the same. The edit & continue was a feature I've grown used to , its absence is missed. Regards, Ray

                        1 Reply Last reply
                        0
                        • M Metasyntactic

                          Heath: Why are these not possible? One could have easily said the same about the previous most requested item "generics". It wasn't supported by the CLI, but we got it done anyways. If you read the previous posts on this topic you'll see that items were split into categories. Specifically, items the C# team could do on its own. Items that the C# team would work with others on. And items for other teams to work on. As to C#=VB. You might want to look in the feedback section for the previous posts on this topic. If you feel that it is a bad idea, please voice your opinion as to why, and tell us if you find fault with the reasoning that people are currently giving. The purpose of the blog is to find out what the community feels/wants. If you don't raise these issues there, then we run the risk of taking an idea here that you don't like and running with it. -- Cyrus (http://blogs.msdn.com/cyrusn)

                          H Offline
                          H Offline
                          Heath Stewart
                          wrote on last edited by
                          #53

                          If you read many of the blogs, the architects like Anders Hejlsberg said that things like throws will not be included for many different reasons, along with other things asked for in the list. Generics in the CLI were proposed long ago but due to time constraints were never implemented. While it was a new feature to the CLI recently, it wasn't a new idea in the minds of the architects. This has been blogged about as well.

                          Microsoft MVP, Visual C# My Articles

                          M 1 Reply Last reply
                          0
                          • M Metasyntactic

                            Heath: I'm going to have to disgree with you on this. The features that people requested were much talked about and were made by people who do understand both C# and the .NET Framework. Note: The items in the list are just summaries because I didn't want to use up too much space. "support for checkin enum values" goes beyond what is currently possible with the Enum class, etc. Could you tell me what enhancements to intellisense are intended for lazy people? On the intellisense team we try to think of things in a code focussed manner. A person is sitting in their code trying to get a specific job done. Everytime we force them to get distracted and work on something else (or navigate elsewhere) that means they can't be as focussed at the job at hand. We feel that reducing these annoyances goes a long way to making people more productive developers. I love to hear more on your opinions, however, so would a lot of other people as well. You are free to add feedback to these posts on my blog -- Cyrus (http://blogs.msdn.com/cyrusn)

                            H Offline
                            H Offline
                            Heath Stewart
                            wrote on last edited by
                            #54

                            IMO, IntelliSense itself is for lazy programmers. Sure, I benefit from it; it saves me a lot of time from having to type out methods and properties (especially those long ones like FormsAuthentication.HashPasswordForStoringInConfigFile - but I also know what's in the BCL. Chris Sells himself once admitted in a .NET Show episode about writing his own MD5 implementation because he didn't know the .NET BCL already contained an MD5 implementation. Sorry, but there's no excuse for that; IntelliSense won't help you there, either. I'm not saying IntelliSense is a bad thing. It definitely saves time. But far too many people rely on IntelliSense to write code (something I find distinctly different from developing software). I reply to about 700+ questions a month in the C# forum (and sometimes a few other forums) here and answer many direct emails and see this happening a lot. Of course those that actually do read the .NET Framework SDK will most likely not have questions, so the sample is skewed; but the fact remains that many of these enhancements (like the new keyword completion; keywords are something anyone programming in C# should at least know already) simply foster lazy programming - the very programming you touched on: not having to leave the IDE to look-up help. With attitudes like that, it's no wonder why software stability is going down hill and that the means to make the software stable is being pushed into the frameworks (perhaps not entirely a bad thing), but even throughout articles in MSDN online does it touch on the fact that many programmers using RAD don't think (or flat-out just don't know) what's going on in the background and write extremely inefficient code. They said it in nicer terms, but it's clear what they were getting at. Besides, with the previous default settings in VS.NET 2002/03, help was integrated with the IDE. I noticed that in VS 2005 (at least in the Express build - I haven't received my full installation from MSDN Subscriptions yet and don't have the means to burn the DVD ISO at this time) that the default is to display external help. If the various teams responsible for .NET, Visual Studio, etc. agree with you about leaving to view other applications, these settings should be set to display internal help again (since the main page has gone back to using MSHTML in some form or another, unlike in VS.NET 2003).

                            M 1 Reply Last reply
                            0
                            • C Colin Angus Mackay

                              VI mode :eek: Some people are just sick!


                              "You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar The Second EuroCPian Event will be in Brussels on the 4th of September Can't manage to P/Invoke that Win32 API in .NET? Why not do interop the wiki way! My Blog

                              H Offline
                              H Offline
                              Heath Stewart
                              wrote on last edited by
                              #55

                              Why not? VS 2005 supports Emacs and Brief emulation. I'm a VIM user myself (use it to write most of the sample code before posting it in the C# forum, in fact, using the command-line compiler to boot)...not that I'd personally like emulation for it in Visual Studio. :)

                              Microsoft MVP, Visual C# My Articles

                              1 Reply Last reply
                              0
                              • M Metasyntactic

                                Ramanan: No. If C# is not evolving the way you want it. Then get involved with the C# team by providing feedback on our blogs. You can also go to http://msdn.microsoft.com/ProductFeedback to report issues or sugggestions. All of these will be addressed and responded to. The purpose of the blog (as I have stated in posts in it) is to try and get closer to the xP ideals of communication and feedback. The belief is that with both you end up with the product the customer wants. However, if you don't participate in that then we won't know if we're going down the wrong path for you -- Cyrus (http://blogs.msdn.com/cyrusn)

                                W Offline
                                W Offline
                                wrykyn
                                wrote on last edited by
                                #56

                                Thanks for providing that link. I know that many people here would like to participate and provide (in most cases far more learned) opinions about C#'s evolution. Re: The blogs on msdn. There are soooo many. I check in every few days and I'm linked only to Raymond Chen's right now. I'm still trying to link to decide which other ones I can spend time reading. Anyways, thanks :) "I believe I referred to her personality as a potential science exhibit." - Elaine, about Ellen, in "The Dog"

                                M 1 Reply Last reply
                                0
                                • M Member 96

                                  Keyboard commands? That's so 20th century!;) Seriously though, if I can't use my mouse to do it, chances are it's not going to happen. (I remember the pre-mouse days of computers very well, in fact I wrote a lot of code back then, I'd just as soon have a little square box at the bottom of a region I can click on to collapse it.) Control m-control m still means I have to navigate to the bottom of the region to use it, if they can come up with a keyboard shortcut that will just collapse the current region only I would be very impressed and would definitely consider using it.


                                  An election is nothing more than the advanced auction of stolen goods. - Ambrose Bierce

                                  J Offline
                                  J Offline
                                  John Fisher
                                  wrote on last edited by
                                  #57

                                  It would be fairly simple to create a macro that searches for and moves down to the #endregion, then toggles the expansion state. Then, you can assign it to whatever keypress you want! [edit] Based on your other posts, desiring a way to do this with the mouse... You could also make a toolbar button for that macro if you want to use the mouse to run it. Though, you are confusing me. How do you write code using the mouse? Or is there some other reason your hand is on the mouse more often than the keyboard? [/edit] John
                                  "You said a whole sentence with no words in it, and I understood you!" -- my wife as she cries about slowly becoming a geek.

                                  1 Reply Last reply
                                  0
                                  • H Heath Stewart

                                    IMO, IntelliSense itself is for lazy programmers. Sure, I benefit from it; it saves me a lot of time from having to type out methods and properties (especially those long ones like FormsAuthentication.HashPasswordForStoringInConfigFile - but I also know what's in the BCL. Chris Sells himself once admitted in a .NET Show episode about writing his own MD5 implementation because he didn't know the .NET BCL already contained an MD5 implementation. Sorry, but there's no excuse for that; IntelliSense won't help you there, either. I'm not saying IntelliSense is a bad thing. It definitely saves time. But far too many people rely on IntelliSense to write code (something I find distinctly different from developing software). I reply to about 700+ questions a month in the C# forum (and sometimes a few other forums) here and answer many direct emails and see this happening a lot. Of course those that actually do read the .NET Framework SDK will most likely not have questions, so the sample is skewed; but the fact remains that many of these enhancements (like the new keyword completion; keywords are something anyone programming in C# should at least know already) simply foster lazy programming - the very programming you touched on: not having to leave the IDE to look-up help. With attitudes like that, it's no wonder why software stability is going down hill and that the means to make the software stable is being pushed into the frameworks (perhaps not entirely a bad thing), but even throughout articles in MSDN online does it touch on the fact that many programmers using RAD don't think (or flat-out just don't know) what's going on in the background and write extremely inefficient code. They said it in nicer terms, but it's clear what they were getting at. Besides, with the previous default settings in VS.NET 2002/03, help was integrated with the IDE. I noticed that in VS 2005 (at least in the Express build - I haven't received my full installation from MSDN Subscriptions yet and don't have the means to burn the DVD ISO at this time) that the default is to display external help. If the various teams responsible for .NET, Visual Studio, etc. agree with you about leaving to view other applications, these settings should be set to display internal help again (since the main page has gone back to using MSHTML in some form or another, unlike in VS.NET 2003).

                                    M Offline
                                    M Offline
                                    Metasyntactic
                                    wrote on last edited by
                                    #58

                                    Heath: A few points. First: " but the fact remains that many of these enhancements (like the new keyword completion; keywords are something anyone programming in C# should at least know already) simply foster lazy programming " I disagree. Having keywords in completion lists is intended to benefit those of us who find typing to be an incredibly slow cumbersome process compared to what our minds have already written out. Why type out the entire word "protected" when "pr" will do? Second: "With attitudes like that, it's no wonder why software stability is going down hill and that the means to make the software stable is being pushed into the frameworks" ... "many programmers using RAD don't think (or flat-out just don't know) what's going on in the background and write extremely inefficient code. They said it in nicer terms, but it's clear what they were getting at." I've heard that argument before. The first time was moving from assembly to C. Then it was C to C++. Then C++ to C#, etc. etc. :-) Inefficiency is a matter of perspective. I could write a code block that takes 100 times longer to do something than something you write. However, in the grand scheme of things, my way takes only .01 seconds. Is it inefficient? Sure. Do I care? No. I measure effciency in terms of my productivity, not just the final resulting code. And, if the code is too innefficient, then I will profile and improve it, either at the code level, or at the design level. But I won't put the pedal to the metal unless it's necessary. Third: Why would you need to burn express to a DVD? It's only 25 MB :-) Also, external/internal help is irrelevant here. Both require you to leave the code you are currently typing. What we are working on is trying ot make it so you have to go to help less and less. Fourth: As the the MD5 thing. I recently blogged about an feature I added to the IDE and was soliciting feedback on it. You can read about it here : http://blogs.msdn.com/cyrusn/archive/2004/06/22/163114.aspx The basic idea would be that he could have typed: "MD5" and we would have told him about the available types related to that. I've been trying to work on ways to incorporate "discoverability" into the IDE so that one can learn more of the BCL (which can be a daunting task). -- Cyrus (http://blogs.msdn.com/cyrusn)

                                    H 1 Reply Last reply
                                    0
                                    • H Heath Stewart

                                      If you read many of the blogs, the architects like Anders Hejlsberg said that things like throws will not be included for many different reasons, along with other things asked for in the list. Generics in the CLI were proposed long ago but due to time constraints were never implemented. While it was a new feature to the CLI recently, it wasn't a new idea in the minds of the architects. This has been blogged about as well.

                                      Microsoft MVP, Visual C# My Articles

                                      M Offline
                                      M Offline
                                      Metasyntactic
                                      wrote on last edited by
                                      #59

                                      Heath: I work a few doors down from Anders. Nothing is set or certain about the future of the platform or the language. We're constantly trying to improve both and we're looking toward the community to find out what people want. Also, I'm not sure where you are getting this thing about "throws". It wasn't in the list and it was never discussed by anyone as being something they wanted... Note: there isn't anything on that list that we're opposed to doing. Well, except for any feature that would break existing code (like making methods virtual by default). Also, almost none of them are new ideas either. However, the reasons we haven't done them so far relate to a combination of factors. Including how much time we have, how much customers want the feature and how much benefit we think they will get out of it. So, as you can see, it's the same as generics for us. We've been aware of it for a long time, we haven't had the time to do it, and now we're trying to figure out what users want the most so we can factor that into our decisions. Again. I ask that if you have issues with the things on this list that you bring your objections over to the feedback section on the blog and carefully explain your position. Different points of views can then be discussed with the others who have contributed so far. These discussions will play a large part in hte choices we make in the future. And if you don't give us this feedback then it's likely we'll pick things from this list that you will not want. -- Cyrus (http://blogs.msdn.com/cyrusn)

                                      H 1 Reply Last reply
                                      0
                                      • W wrykyn

                                        Thanks for providing that link. I know that many people here would like to participate and provide (in most cases far more learned) opinions about C#'s evolution. Re: The blogs on msdn. There are soooo many. I check in every few days and I'm linked only to Raymond Chen's right now. I'm still trying to link to decide which other ones I can spend time reading. Anyways, thanks :) "I believe I referred to her personality as a potential science exhibit." - Elaine, about Ellen, in "The Dog"

                                        M Offline
                                        M Offline
                                        Metasyntactic
                                        wrote on last edited by
                                        #60

                                        Yup. There are tons :-) It's a problem when everyone is excited and wants to talk to the entire community about all the exciting stuff they're working on. -- Cyrus (http://blogs.msdn.com/cyrusn)

                                        1 Reply Last reply
                                        0
                                        • M Metasyntactic

                                          Heath: A few points. First: " but the fact remains that many of these enhancements (like the new keyword completion; keywords are something anyone programming in C# should at least know already) simply foster lazy programming " I disagree. Having keywords in completion lists is intended to benefit those of us who find typing to be an incredibly slow cumbersome process compared to what our minds have already written out. Why type out the entire word "protected" when "pr" will do? Second: "With attitudes like that, it's no wonder why software stability is going down hill and that the means to make the software stable is being pushed into the frameworks" ... "many programmers using RAD don't think (or flat-out just don't know) what's going on in the background and write extremely inefficient code. They said it in nicer terms, but it's clear what they were getting at." I've heard that argument before. The first time was moving from assembly to C. Then it was C to C++. Then C++ to C#, etc. etc. :-) Inefficiency is a matter of perspective. I could write a code block that takes 100 times longer to do something than something you write. However, in the grand scheme of things, my way takes only .01 seconds. Is it inefficient? Sure. Do I care? No. I measure effciency in terms of my productivity, not just the final resulting code. And, if the code is too innefficient, then I will profile and improve it, either at the code level, or at the design level. But I won't put the pedal to the metal unless it's necessary. Third: Why would you need to burn express to a DVD? It's only 25 MB :-) Also, external/internal help is irrelevant here. Both require you to leave the code you are currently typing. What we are working on is trying ot make it so you have to go to help less and less. Fourth: As the the MD5 thing. I recently blogged about an feature I added to the IDE and was soliciting feedback on it. You can read about it here : http://blogs.msdn.com/cyrusn/archive/2004/06/22/163114.aspx The basic idea would be that he could have typed: "MD5" and we would have told him about the available types related to that. I've been trying to work on ways to incorporate "discoverability" into the IDE so that one can learn more of the BCL (which can be a daunting task). -- Cyrus (http://blogs.msdn.com/cyrusn)

                                          H Offline
                                          H Offline
                                          Heath Stewart
                                          wrote on last edited by
                                          #61

                                          Metasyntactic wrote: Third: Why would you need to burn express to a DVD? It's only 25 MB I'm talking about the full Visual Studio 2005 Enterprise build up on MSDN Subscription Downloads. At over 3.5 GB (IIRC), I'll definitely need it on DVD. I hate having to swap out CDs (with an installation process that long, it's nice to just walk away for a while). Learning the BCL can be a daunting task, but even with discoverability features the best way for people to learn is to at least browse through the BCL. This is what I recommend quite frequently. At least gaining familiarity with what's available might help down the road when you need a particular class. I realize that you work at Microsoft and know your stuff and I only know what I read in your blogs and what I've learned from experience in the trenches (studying the .NET Framework in-depth - down to the IL, PE/COFF EATs, etc.) and working with the people using it. If experience answering questions has taught me anything, it's that far too many programmers are trying to take the easy way out and IntelliSense plays right into that. Sure, it can help productivity, but it should be no replacement for learning. Education requires reading and experience, and there's no substitute for that (I'm sure that even old assembler hacks would agree, if any are still sane :)). In fact, just the other day a former coworker of mine and a good friend who works for another company now was commenting that they picked up code from some company that was in the process of creating DLL hell...with assemblies. They didn't know what the GAC was; they didn't know what strong naming was or how to do it; they really didn't much of anything except that they were programming in C# (the concept of the CLI was unknown to them). This is a company selling major software at a high price. My friend told them about the GAC and how it could solve the problem. Now how does IntelliSense or the new discovery feature you're conceptualizing help that? People need to read. Every day the regular forum members including myself are confronted with questions like "What does method XX do?" IntelliSense provides the summary and param info, but does not (nor could it, concievably) show the remarks and examples. Again, I'm not opposed to IntelliSense. It can help boost productivity but it it should not be a replacement for reading (even if it's just skimming the BCL docs to see what's available).

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups