"Edit and Continue" in Visual Studio



  • Does anyone use this new feature? To me, it seems like a nuisance. Accidentally hitting F1 while coding in Visual Studio has, for years, been a productivity drain. Now, accidentally hitting basically any key at all while debugging will similarly bring one's workday to a grinding halt. Because, in the brave new world of VS2008, the compiler interprets any source code edits during debugging as an invitation to ride off into the sunset with the CPU. 

    Does anyone else find this annoying? Or is anyone making productive use of this new feature?

     Also, am I the only one who finds the whole concept of edit-and-continue to be wildly non-deterministic? How in the hell do things like stack frame, program counter, etc. get mapped onto a completely new program? 

     


  • Discourse touched me in a no-no place

    And is there nothing in the options dialog to turn this off?



  • @PJH said:

    And is there nothing in the options dialog to turn this off?
     

    It's a project-level setting. So, I can't just change it once, or even once-per-solution. Also, because this is a project-level setting, any change gets checked into source control and affects others. And in any case, making a bad idea configurable doesn't excuse it.

    Beyond that, I guess I am asking, "does anyone really want this?" Yes, it does seem like the sort of thing that some "programmers" might request. But my suspicion is that said "programmers" must be ignorant, VB-addicted mouse-jockeys to want such a thing.

    I guess I can imagine, somewhat, how Microsoft translates a runtime environment onto a newly built program. But as somebody with a basic idea of what's going on underneath the hood, I feel skeptical about toting a runtime state from one program to another. The fact that the program that originally generated the runtime state had some kind of error, which may or may not be corrected in the newly built version of the program, only increases the level of mind-bending non-determinism inherent to the whole exercise. 

    For .NOT developers, "Edit-and-Continue" is the reason for all those stupid ".VSHOST.EXE" versions of your program that hang around in the background while using the later versions of Visual Studio. Anyone who writes code that inspects the process list, e.g. to implement a singleton EXE in .NET, must sort through that garbage, and I've seen that really confuse less experienced developers. There are undoubtedly other unforseen consequences as well, e.g. in build scripts.

    The overall situation makes me want to hitchhike up to Redmond with an Elmo projector and re-hash CS101 for them.



  • @beau29 said:

    The overall situation makes me want to hitchhike up to Redmond with an Elmo projector and re-hash CS101 for them.

     

    I like the feature.  It is extremely useful.  I'm pretty sure they understand stacks and frames, considering that they actually made it possible to edit and continue.  Personally I debug all the time and then see a problem on the line and wish I could fix it without restarting the program.



  • @tster said:

    @beau29 said:

    The overall situation makes me want to hitchhike up to Redmond with an Elmo projector and re-hash CS101 for them.

     

    I like the feature.  It is extremely useful.  I'm pretty sure they understand stacks and frames, considering that they actually made it possible to edit and continue.  Personally I debug all the time and then see a problem on the line and wish I could fix it without restarting the program.

    OK, that is a positive reply. I agree it's impressive that they've made this work. Obviously they've mastered CS101.(My problem is the "magic" they've grafted on top of it.)

    I think the feature probably makes more sense in .NET than in Visual C++. Things are more predictable, and builds are also faster. Working in a large C++ project, rebuilds are not really interactive events that can "just happen" on a background thread. And apparently, for whatever reason, opening online help isn't either... So I guess my overall feeling is that before Microsoft gives us whiz-bang new features that seem to defy basic CS, they ought to work on the responsiveness of their IDE. 

     

     

     



  • @beau29 said:

    So I guess my overall feeling is that before Microsoft gives us whiz-bang new features that seem to defy basic CS, they ought to work on the responsiveness of their IDE.

    Visual Studio is very responsive.  In fact, I don't know of a more responsive and better performing IDE.



  • @tster said:

    @beau29 said:

    So I guess my overall feeling is that before Microsoft gives us whiz-bang new features that seem to defy basic CS, they ought to work on the responsiveness of their IDE.

    Visual Studio is very responsive.  In fact, I don't know of a more responsive and better performing IDE.

    vim!



  • @tster said:

    @beau29 said:

    So I guess my overall feeling is that before Microsoft gives us whiz-bang new features that seem to defy basic CS, they ought to work on the responsiveness of their IDE.

    Visual Studio is very responsive.  In fact, I don't know of a more responsive and better performing IDE.

    Yeah, I'm gonna have to go ahead and disagree with you on that one. I ran a little test just to give you some hard numbers. This was on a 2000 MHz Core Duo latptop with 2GB RAM running Windows XP.  I started with a fresh boot, with nothing running except IEXPLORE. It takes about 40 seconds for VS2008 to open after I double-click its icon on the desktop. When I click a menu, there's another 8-15 second delay before I see my choices. If I then press F1, the IDE freezes up for about 20 seconds, after which I see some sort of "progress bar" followed fairly quickly by the help screen... which is non-responsive for another 15 seconds or so. Keep in mind that I've actually done nothing at this point; I'm just testing VS2008's ability to respond to user input under the most generous of conditions.

    The most similar software tool I have on this computer is the MPLAB IDE, which is used for C and assembly language. This opens in less than 20 seconds and is completely responsive. Its help system opens virtually instantaneously.

    Google Earth is completely responsive within 20 seconds after I double-click on its destop icon. In fact, if I close it and then reopen it a second or third time, it opens virtually instantaneously. And I don't think I've ever seen it just wander off with the CPU for (apparently) a summer abroad in Italy the way VS2008 will.

    I have a really hard time working with anything as sluggish as VS2008. I tend to switch to another program or task far more often than I otherwise would, and productivity suffers as a result. I am far more productive in something slightly more primitivelike MPLAB or even Borland C++ 5.0 where my keystrokes and thoughts can flow in uninterrupted fashion.

     

     



  •  Something is probably wrong with your computer.  I don't have Visual Studio 2008, but I do have 2005 and 2010 beta, so I'll run the same numbers:

     

    Visual Studio 2005:

    Start up: 5 seconds first time, 2 seconds subsequent times

    Click on Menu: Instant (including first time program was opened)

    Press F1: 3 seconds for Microsoft Document Explorer to show up, 2 more seconds to show content (5 seconds total)

     

    Visual Studio 2010:

    Start up: 8 seconds first time,  2 seconds subsequent times:

    Click on menu: instance (again, including first time)

    press F1: .5 seconds to pop up a dialog asking if I want to go online (press yes and switches to firefox)

     

     Test machine:

    2.5 Ghz  Core 2 Quad
    4 GB DDR3
    Windows 7 RC

     



  • My experience with VS (2005, 2008, & 2010) closely matches tster's.  My machine is a 2.4 GHz Dual Core, 4GB DDR2, on Vista SP2.  The only caveat is that Visual Studio starts up slower the first time (about 15s) after a reboot because that has to do with the system having to load all the .Net assemblies including addins.  After that, VS start almost instaneously.  This is par for course in a lot of applications like Adobe Acrobat, Siemens NX 6, and a host of others.

    The one place where VS2008 really sucks compared to VS2005 is on the first edit after loading a project / solution.  The IDE hangs for about 20-30s before it does anything.  This behavior is not in VS2005 nor is it in VS2010, so I'm not sure what's going on.



  • In a debug build of a program, it's not super difficult to patch over the first few bytes of a function with a jump to a new version of the function.  That having been said, it's not only VB clickers using this.  It can be really handy (and dangerous) in C++ programs, used to limit the number of times you need to compile and run misbehaving code.  Though I was startled to see it the first time, it's really the only way to have a sort of interactive session with templated code.  It can save you a lot of time setting up chains of std::alogrithms if you can just bang on the interaction a little.



  • @tster said:

    @beau29 said:

    So I guess my overall feeling is that before Microsoft gives us whiz-bang new features that seem to defy basic CS, they ought to work on the responsiveness of their IDE.

    Visual Studio is very responsive.  In fact, I don't know of a more responsive and better performing IDE.

     It usually very responsive for me in C#, but in C++ it can simply go to lunch at times, sometimes simple actions can try to update the Intellisense and it just sits there non responsive for a bit.  I still prefer Visual Studio over anything else, but it does have its quirks when it comes to C++.


  • Garbage Person

     You could always build and debug in 64bit. Then you just get a warning ding and a dialog telling you "Piss off, you forgot to stop debugging when you figured out what the fucking problem was."



  • @Weng said:

     You could always build and debug in 64bit. Then you just get a warning ding and a dialog telling you "Piss off, you forgot to stop debugging when you figured out what the fucking problem was."

     

    Finally, I was begining to think something was wrong with my VS (or right as the case may be).  I can change aspx pages while in debug mode, refresh the page and all is good.  But if I try to change any CS pages it tells me to fuck off and quit debugging first.  This is how it behaives be default for me.



  • @lpope187 said:

    My experience with VS (2005, 2008, & 2010) closely matches tster's.  My machine is a 2.4 GHz Dual Core, 4GB DDR2, on Vista SP2.  The only caveat is that Visual Studio starts up slower the first time (about 15s) after a reboot because that has to do with the system having to load all the .Net assemblies including addins.  After that, VS start almost instaneously.  This is par for course in a lot of applications like Adobe Acrobat, Siemens NX 6, and a host of others.

    The one place where VS2008 really sucks compared to VS2005 is on the first edit after loading a project / solution.  The IDE hangs for about 20-30s before it does anything.  This behavior is not in VS2005 nor is it in VS2010, so I'm not sure what's going on.

    It seems to me that your experience more closely matches my own than that of tster.  That 20-30 second delay when you attempt first edit, for example, seems like exactly the sort of thing I complained about. To me, this does not seem like acceptable behavior from a program which (at the point-in-time we're discussing) I am only asking to do basic text editing.

    To me, your statements seem brazenly contradictory, in a way that wouldn't pass muster in a more objective forum. Unfortunately, this kind of flawed reasoning seems to thrive at Daily WTF.

    I think the reason is that site has become a collection of very like-minded individuals. In particular, it has become "ground zero" for a species of big business apologist which is otherwise ill-at-ease in the creative, somewhat academic field of software development.

    There are many otherwise intelligent programmers who lack the intellectual polish to cut it socially with the granola-munching, mountain-biking crowd that dominates the upper echelon of the computing field. These people come here and spout simplistic right-wing, pro-Microsoft arguments whose truth they consider obvious. Because their proto-capitalist morals are considered self-evident (the primacy of the market, the immaturity of anyone who questions Microsoft, etc.) , no one here really bother constructing really convincing arguments around them. 

    So, we get statements like yours (paraphrasing):

    "Gosh, I dunno, that sounds like crazy commie talk to me. Say, I always thought Visual Studio was plenty fast! Course, it takes dang near a minute to open up a simple text file and add a one-line comment, but jiminy! It's not like there's anything better out there!"

    I take comfort in knowing that none of these views is taken seriously outside of Microsoft's marketing material or (perhaps) a meeting of the John Birch society.

     




  • @beau29 said:

    In particular, it has become "ground zero" for a species of big business apologist which is otherwise ill-at-ease in the creative, somewhat academic field of software development.

    There are many otherwise intelligent programmers who lack the intellectual polish to cut it socially with the granola-munching, mountain-biking crowd that dominates the upper echelon of the computing field.

    Software development is not an academic field.  Most of the real "academics" in the field would not be able to produce large software projects.  They are better suited at developing algorithms, languages, or research projects (which are like a large system except it probably won't have to go through maintenance and doesn't need to satisfy customers).

     @beau29 said:

    ...no one here really bother constructing really convincing arguments... 

     

    Your post is a perfect example.  You spent a great deal of time throwing personal insults and making broad claims without actually constructing arguments.

     

    Anways, your assertion that all you want VS to do is edit a file is bullshit.  You want it to provide a great deal more than that (intellisense, syntax highlighting, autocomplete, auto formatting, documentation lookup, reference finding, etc.).   If all you need is to type into a file then I think you might be using the wrong tool.  Of course, you could create a .txt file in VS and I doubt you would have any delays when editing the file.

    BTW, I don't see any 20 second delays on file editing, but I'll take your word on it, and that does suck.  

    Anyways, my point is that you don't (and never have) seemed content here.  You pop up every once in a while to flame bait with anti-M$ nonsense.  Why do you come back if we are all such knuckle dragging morons?



  • @beau29 said:

    It seems to me that your experience more closely matches my own than that of tster.  That 20-30 second delay when you attempt first edit, for example, seems like exactly the sort of thing I complained about. To me, this does not seem like acceptable behavior from a program which (at the point-in-time we're discussing) I am only asking to do basic text editing.

    To me, your statements seem brazenly contradictory, in a way that wouldn't pass muster in a more objective forum. Unfortunately, this kind of flawed reasoning seems to thrive at Daily WTF.

    I think the reason is that site has become a collection of very like-minded individuals. In particular, it has become "ground zero" for a species of big business apologist which is otherwise ill-at-ease in the creative, somewhat academic field of software development.

    There are many otherwise intelligent programmers who lack the intellectual polish to cut it socially with the granola-munching, mountain-biking crowd that dominates the upper echelon of the computing field. These people come here and spout simplistic right-wing, pro-Microsoft arguments whose truth they consider obvious. Because their proto-capitalist morals are considered self-evident (the primacy of the market, the immaturity of anyone who questions Microsoft, etc.) , no one here really bother constructing really convincing arguments around them. 

    So, we get statements like yours (paraphrasing):

    "Gosh, I dunno, that sounds like crazy commie talk to me. Say, I always thought Visual Studio was plenty fast! Course, it takes dang near a minute to open up a simple text file and add a one-line comment, but jiminy! It's not like there's anything better out there!"

    I take comfort in knowing that none of these views is taken seriously outside of Microsoft's marketing material or (perhaps) a meeting of the John Birch society.

    My God, that is a brilliant troll.  Bravo, sir!  Bravo!


Log in to reply