Bizarre "Find in Files" fix in VS.NET, 2005, 2008...?




  • I found that "Find in Files" wasn't working in Visual Studio 2008. "No files were found to look in," the program said. I checked my settings (file extensions, case insensitivity, etc.) and found them to be correct. I exited and re-entered the IDE. Eventually I rebooted (for other reasons). Still, "Find in Files" wouldn't work. Finally, I decided I'd attempt to find a solution on the Internet. And I stumbled onto some equally confused developers reporting the same problem... with something like the last 3 or 4 versions of this product. But The Real WTF (sm) is the fix (obtained from http://blogs.ugidotnet.org/franny/archive/2005/12/08/31303.aspx): give the IDE focus and press CTRL+SCROLLLOCK. If that doesn't work, try ALT+BREAK. If that still doesn't work (as was the case for me) try, simply, PAUSE.

    And this situation has persisted for 7+ years and counting. Worse, Microsoft won't even admit the problem or give the real fix ( http://msdn.microsoft.com/en-us/library/z613zk0e(VS.80).aspx ).

    These clowns (i.e. the ones in Redmond) really piss me off. When I heard they were firing people last week, my first thought was that they really didn't have to do that, with $60BB+ in the bank. My second thought was maybe it was just an opportunity to do some necessary housecleaning... Microsoft would clear out some of the obvious deadwood working on projects like BizTalk, SharePoint, "Work Flow," Hailstorm (or whatever they're calling it now) and other enterprisey crap that we don't reall want or need. Maybe they'd take the opportunity to rid themselves of the idiots behind the latest (flickering, slow, blurry, confusing) version of Windows. Perhaps whoever had been responsible for ruining SourceSafe would finally get their just desserts (i.e. an ignominious 10AM walk to the Audi TT with a box full of personal property).

    And then they fired the !@#!ING FLIGHT SIMULATOR PROGRAMMERS!!!1!!!1!

    They gutted one of the few development teams at Microsoft that had ever really impressed me.

    I WILL NOT buy products from these people any more. I won't even pirate them. I will do without before I will send any more cash to these idiots. CTRL+SCROLLLOCK indeed.



  • The first bit was a bit of a WTF. The second was a long, boring, completely irrelevant (oh, and incorrect) rant. Just because you don't like products like BizTalk, Sharepoint or Windows Workflow Foundation, doesn't mean noone needs them. In fact lots of people use them for good reason. By the way, there's no such thing as SourceSafe anymore. It's "Team Foundation Server" and it's actually a very impressive piece of work.



  • @Kyanar said:

    By the way, there's no such thing as SourceSafe anymore. It's "Team Foundation Server" and it's actually a very impressive piece of work.
     

    what?



  • @tster said:

    @Kyanar said:

    By the way, there's no such thing as SourceSafe anymore. It's "Team Foundation Server" and it's actually a very impressive piece of work.
     

    what?

    I think you'll find there's no SourceSafe 2008, because Team Foundation Server fully replaces it. Finally. 2005 was pretty much a slightly less shitty final version of a shitty application.

    Source control indeed.



  • @beau29 said:

    I WILL NOT buy products from these people any more.
    Congrats, but no one here cares.



  • @Kyanar said:

    @tster said:

    @Kyanar said:

    By the way, there's no such thing as SourceSafe anymore. It's "Team Foundation Server" and it's actually a very impressive piece of work.
     

    what?

     following this logic:

    I think you'll find there's no Access 2008, because SQL Server fully replaces it. Finally. 2007 was pretty much a slightly less shitty final version of a shitty application. Database indeed.

     



  • @beau29 said:


    I found that "Find in Files" wasn't working in Visual Studio 2008. "No files were found to look in," the program said. I checked my settings (file extensions, case insensitivity, etc.) and found them to be correct. I exited and re-entered the IDE. Eventually I rebooted (for other reasons). Still, "Find in Files" wouldn't work. Finally, I decided I'd attempt to find a solution on the Internet. And I stumbled onto some equally confused developers reporting the same problem... with something like the last 3 or 4 versions of this product. But The Real WTF (sm) is the fix (obtained from http://blogs.ugidotnet.org/franny/archive/2005/12/08/31303.aspx): give the IDE focus and press CTRL+SCROLLLOCK. If that doesn't work, try ALT+BREAK. If that still doesn't work (as was the case for me) try, simply, PAUSE.

    And this situation has persisted for 7+ years and counting. Worse, Microsoft won't even admit the problem or give the real fix ( http://msdn.microsoft.com/en-us/library/z613zk0e(VS.80).aspx ).

    These clowns (i.e. the ones in Redmond) really piss me off. When I heard they were firing people last week, my first thought was that they really didn't have to do that, with $60BB+ in the bank. My second thought was maybe it was just an opportunity to do some necessary housecleaning... Microsoft would clear out some of the obvious deadwood working on projects like BizTalk, SharePoint, "Work Flow," Hailstorm (or whatever they're calling it now) and other enterprisey crap that we don't reall want or need. Maybe they'd take the opportunity to rid themselves of the idiots behind the latest (flickering, slow, blurry, confusing) version of Windows. Perhaps whoever had been responsible for ruining SourceSafe would finally get their just desserts (i.e. an ignominious 10AM walk to the Audi TT with a box full of personal property).

    And then they fired the !@#!ING FLIGHT SIMULATOR PROGRAMMERS!!!1!!!1!

    They gutted one of the few development teams at Microsoft that had ever really impressed me.

    I WILL NOT buy products from these people any more. I won't even pirate them. I will do without before I will send any more cash to these idiots. CTRL+SCROLLLOCK indeed.

    Added <p> tags.



  • @beau29 said:

    Perhaps whoever had been responsible for ruining SourceSafe would finally get their just desserts 

    The people responsible for ruining SourceSafe were the twunts at One Tree Software who designed the original architecture in the first place.  Bunch of unlocked non-transactional files on an unsecured samba share?  Piece of crap, more like.  MS were stuck with the consequences of that original sin from the word go.

    I was working with it from the tail end of OTS and through the MS buyout.  The first release MS did after they took it over was broken and sucky, but they came out with another in fairly short order that fixed the most egregious failures in that one, and since then everything they've done has only been to improve it; they added/extended some fairly vital features the original was lacking in (e.g., iirc, the OTS version couldn't handle multiple simultaneous checkouts on the same file).  Admittedly they're polishing a turd, but it's now a very shiny turd indeed.



  •  It's always worked fine for me.

    Why would someone put a 60 dollar BB in a bank?

    Also, tl;dr.



  • ...I thought ctrl-scrolllock was the key to cause BSOD 0xdeaddead (MANUALLY_INITIATED_CRASH) in early versions of XP...



  • @joemck said:

    ...I thought ctrl-scrolllock was the key to cause BSOD 0xdeaddead (MANUALLY_INITIATED_CRASH) in early versions of XP...
    All versions of XP, and a boatload of other NT operating systems as well. Change a registry setting called "CrashOnCtrlScroll" and reboot, ensuring you're using a non-USB keyboard. Then, whenever your boss walks by and asks you something you don't want to answer, hold the right control key and press Scroll Lock twice.

    And that's bugcheck 0xE2, by the way. 0xDEADDEAD is MANUALLY_INITIATED_CRASH1, and not user-triggerable.



  • @beau29 said:

    I found that "Find in Files" wasn't working in Visual Studio 2008. "No files were found to look in," the program said. I checked my settings (file extensions, case insensitivity, etc.) and found them to be correct. I exited and re-entered the IDE. Eventually I rebooted (for other reasons). Still, "Find in Files" wouldn't work.
    I'm sorry you're having trouble.@beau29 said:
    Finally, I decided I'd attempt to find a solution on the Internet.
    You have two free support incidents; use one.@beau29 said:
    But TRWTF is the fix: give the IDE focus and press CTRL+SCROLLLOCK. If that doesn't work, try ALT+BREAK. If that still doesn't work try PAUSE.
    It is kind of evil to include undocumented shortcut keys to trigger sanity-checks and problem fixes, I'll admit. But it's not entirely out of line with most other development environments or other complex applications.@beau29 said:
    Worse, Microsoft won't even admit the problem or give the real fix.
    Firstly, legally, they can't. Otherwise the United States Government has grounds for a lawsuit for including undocumented functionality. Secondly, the problem most end users experience is that they change one filter but not the other, which leads them to believe they're running a different search than the one actually being done. Your problem is a special case, a bug, which would show up in a KB article, not product documentation. @beau29 said:
    These clowns really piss me off. Rant rant rant rant rant. Rant rant rant. Rant rant, rant rant rant rant rant!
    Okay, stop. You've given your WTF. It's somewhat stinky, to some noses very stinky, and to mine quite mild actually. There's no need to go off on a tangent bashing the developing company for everything else under the sun. Furthermore, the people who work with BizTalk, SharePoint, Microsoft Dynamics, et cetera, would probably want Microsoft to "clear out some of the obvious deadwood" working on projects like Flight Simulator "and other entertainmenty crap that we don't reall want or need."@beau29 said:
    I WILL NOT buy products from these people any more. I won't even pirate them. I will do without before I will send any more cash to these idiots. CTRL+SCROLLLOCK indeed.
    I love you too. Now, what was it you were doing with Visual Studio 2008 again?



  • This has happened to me before, but not in months now (I'm using VC++ 2005 btw). Perhaps they've fixed it?

    When it DID happen, restarting the IDE did fix it. I'm not sure what you're complaining about there.



  • TL;DNR KTHBYE



  •  They're cutting people who do actual work so the managers can get their bonuses. Standard Operating Procedure.

     Duh.



  • @beau29 said:

    they fired the !@#!ING FLIGHT SIMULATOR PROGRAMMERS
     

    Eh. X-Plane is superior.



  • @Ren said:

     They're cutting people who do actual work so the managers can get their bonuses. Standard Operating Procedure.

     Duh.

     

    This is the first time they have ever done layoffs, so I don't think I would call it that.



  • @Kyanar said:

    The first bit was a bit of a WTF. The second was a long, boring, completely irrelevant (oh, and incorrect) rant.

    No, firing the Flight Simulator team is a WTF, and saying so is not a rant. That team put together a rock solid real time simulation which (unique among Microsoft products) evolved gracefully and incrementally over the years, without a hitch. Some version of Microsoft Flight Simulator exists for just about every piece of crap API and/or underpowered system the market has provided (C64, TRS-80 CoCo, MS-DOS, etc.) in the last 25 years. I've run several of those implementations and I've never seen a blue screen or a cryptic message box. And I get the sense that these implementations share a core of well-written metaphorical DNA. If Microsoft has accomplished this with any other product or team, please let me know. But before you do, ask yourself:

    1) Which were the crap versions of Windows? I bet you know the answer...

    2) Which were the crap versions of MS-DOS? Again, if you're of a certain minimum age, you'll know...

    3) Which was the crap version of MS Flight Simulator? (There wasn't one.)

    I realize that comparing the OS product line to a game product line is not entirely fair... but suffice it to say that the rest of Microsoft could probably have learned some things from the Flight Simulator team. And I think the OS task and the real-time simulation task can both be roughly described as "system programming" or "highly advanced" tasks. It's just that MS failed (technically, at least) at one and succeeded at the other... then they fired the team that succeeded.

    And as far as all that enterprisey crap that supposedly someone needs (Workflow, BizTalk, etc.), maybe we should just put that questions out there for the group. If anyone reading this has a wonderful BizTalk story to tell (perhaps a touching vignette about the first time they saw an "enterprise bus" or "business logic" tier as a youngster and how it inspired them to an IT career) then go ahead and share it. Or maybe you have a knee-slapper about the first time you marshalled a widget to the remote tier. I'll just sit here and re-write GDI32.DLL to be free-threadable while I'm waiting for it.



  • Business applications that do business work don't inspire anyone. But when you take them away, and your business starts to crumble their uses become quite noticable.



  • @beau29 said:

    I'll just sit here and re-write GDI32.DLL to be free-threadable while I'm waiting for it.

    GDI32.dll is multithread-safe. You can work with different DCs in different threads without any additional synchronization. You want to access the same DC in different threads? Maybe you write thread-safe C++ standard library first, for a warmup. Then decide, do you really want thread-safe DC.



  • @beau29 said:

    I'll just sit here and re-write GDI32.DLL to be free-threadable while I'm waiting for it.
     

    Will that keep you busy enough so you don't waste our time with your idiotic, meaningless rants that pointlessly bash MS? If so, please start now.

    A minor bug in a product doesn't mean that the entire company is stupid. Neither does the fact that, in today's economy, they laid of game programmers; people are spending money on important stuff now (like food, mortgages, etc.) and not wasting as much on entertainment. Needing to cut jobs and keeping the employees in a division that will experience reduced income because of a spending slump in the target market is just bad business. Any one who isn't a moron can see that; the fact you can't should worry you.

     



  • @KenW said:

    @beau29 said:

    I'll just sit here and re-write GDI32.DLL to be free-threadable while I'm waiting for it.
     

    Will that keep you busy enough so you don't waste our time with your idiotic, meaningless rants that pointlessly bash MS? If so, please start now.

    A minor bug in a product doesn't mean that the entire company is stupid. Neither does the fact that, in today's economy, they laid of game programmers; people are spending money on important stuff now (like food, mortgages, etc.) and not wasting as much on entertainment. Needing to cut jobs and keeping the employees in a division that will experience reduced income because of a spending slump in the target market is just bad business. Any one who isn't a moron can see that; the fact you can't should worry you.

    First, I was kidding about GDI32.dl... I actually think this is already as thread-safe as it reasonably should be. I was just trying to make up a long, pointless, and probably impossible task as an example.

    Second, this thead (your response in particular, but all of it) really pissed me off. So here's what I did: Sunday, I decided to stop using Microsoft development tools as rapidly as possible. I have been porting my work to GCC. Initially at least, my environment is Cygwin. "Port" is probably too strong a verb... GCC really builds just about everything I have with minimal changes. I have to use OpenGL where before I used DirectX, but now that I'm past the initial learning curve I don't miss DirectX at all. 

    The most obvious benefit I have seen is responsiveness. When I hit a key or click a menu item in Visual Studio, the time it can take to respond is unpredictable and unbounded. Accidental actions like inadvertantly pressing F1 can cause the whole system to grind to a halt. Strange, computationally costly things seem to constantly be going on in other threads.

    Using GCC, there are perhaps a few more steps to do certain things (at least for a non-bash expert), but each of the necessary user input actions is responded to quickly. The overall flow of my work and thinking is never interrupted by the 30-second detours that seem endemic to anything Microsoft writes. It's much easier to tackle complex programming problems when I don't have to wait 30 seconds between steps. I work fast and think fast and breaking the flow with long waits really hurts my productivity.

    The second big benefit I have seen is that I really understand and feel in control of the overall development process. The Visual C++ build process and App Wizard have always seemed obscure to me. So many files and folders are created out-of-the-box for a new project, and I never really felt like I was in control of these or understood them. The build process was always F5 or high-level calls to MSBUILD.EXE, and everything just kind of ended up in the right place... hopefully. I always just glossed over things like resource compilation, and I tolerated the lines and lines of boilerplate code and seemingly redundant files and folders that Microsoft was foisting upon me.

    For example, as an exercise I just went and created a new "Win32 Project" in VS2008. This is the most basic C++ GUI project except for "Empty Project" which really is 100% empty. Just accepting the default options and building one time, I got all of the following:

    1) A top-level folder holding a .sln file, some associated files, and a "debug" folder.

    2) A subfolder of that folder with the same @$#@#ing name

    3) 12 files in that subfolder, having 7 distinct extensions

    4) Another "debug" folder in the subfolder

    5) 11 files in this second "debug" folder, with 8 distinct extensions

    6) An actual .EXE in the first "debug" folder from item #1

    7) 19 total files all starting with "ProjectName."

    And all this project does is display an empty window.

    I love GCC, on the other hand, because I am in control. If I need a resource file, I have to add it. It's not just assumed by the tool. I end up knowing exactly how and when the resource gets compiled. It's not hard... the .RC is the source and the target is a 'COFF' file:

    <FONT color=#008000 size=2>$ windres MyApp.rc MyApp.coff</FONT>

    If you can't handle that you don't need to be programming. The .RCs themselves actually make a great deal of sense in a text editor.

    The link process is also laid bare in GCC... the programmer tells GCC what to compile when by just stringing together all the C/C++/COFF files in the correct order, e.g.:

    $ g++ app.cpp library1.cpp library2.cpp MyApp.coff

    This is not some magical, cryptic process that takes place behind a velvet curtain... but looking at Visual C++ you wouldn't know that. Microsoft really wants you to think they are doing more than they actually are. I am no longer falling for that trick.

    At this point, I can write new Win32-target apps of any sort using GCC, and I have succesfully migrated the first GUI app I identified for testing, as well as my favorite Direct3D demo.  Coming from a Microsoft background, I have been really surprised at how quickly and smoothly these things have transpired.I didn't have to stay up all night drinking Jolt cola to accomplish any of this (unlike, for instance, my first experiences with Direct3D). I watched the Super Bowl on Sunday, then attended an NBA game Monday. I have to cook dinner every night for my wife and daughter, do my regular job, commute about an hour each day, etc.

    My conclusion is that progamming doesn't have to be an agonizing series of time-consuming accidental difficulties. With the right tools, you can get to the heart of the problem and apply your skills. With Microsoft tools, you will be too busy playing slap-and-tickle with WinSxS or DCOM to ever get to the heart of the matter. You can call what you're doing programming, but don't call it productivity. I call it "playing footsie with the Office Assistant."

    Finally, consider that all of my GCC code is cross-platform. It's simply more valuable than the code I generated previously. Microsoft code has value only to the extent that Microsoft continues to sell, license, and promote the runtime. Real GCC code - in partciular the OpenGL code- is a more timeless asset.

    I really hope that maybe some of you will follow the same path I am. I know Microsoft is a comfortable security blanket, and that the open source crowd can be very insular and nerdy. But please believe me on this: Microsoft is crap. This is not coming from some nerd sitting in his mom's basement trying to make a router do stupid tricks. Rather, this is my inescapable, objective professional assessment, in spite of years of really trying to make a go of it with Microsoft. It's just not worth it.



  • @beau29 said:

    Sunday, I decided to stop using Microsoft development tools as rapidly as possible. I have been porting my work to GCC. Initially at least, my environment is Cygwin.

    If you are porting from VC++, MinGW might be a better choice.

    @beau29 said:

    When I hit a key or click a menu item in Visual Studio...

    Using GCC, there are perhaps a few more steps to do certain things...

    You are comparing apples to oranges. If you want to compare VS, compare it with Eclipse, or something. If you want to compare GCC, compare it with... "Microsoft (R) 32-bit C/C++ Optimizing Compiler", CL.

    @beau29 said:

    2) A subfolder of that folder with the same @$#@#ing name

    Ever wondered what the "Create directory for solution" checkbox is for?

    @beau29 said:

    [color=green][b]$ windres MyApp.rc MyApp.coff[/b][/color]

    [color=blue][b]> rc MyApp.rc [/b][/color]

    I'm not seeing your point.

    Note that I'm not saying that MS rulez and GCC suckz (and I don't think that, either), but I don't believe you made any real arguments in GCC's favour.



  • @beau29 said:

    this thead ... really pissed me off. So here's what I did: Sunday, I decided to stop using Microsoft development tools as rapidly as possible.
     

    Upheaval of your entire dev environment over a forum thread, plus the other whinging, in response to the board's resident MS apologist?

    Okay, KenW earns my nomination for Troll of the Year. Legendary troll. To eleven.



  • @Spectre said:

    @beau29 said:
    $ windres MyApp.rc MyApp.coff

    > rc MyApp.rc

    I'm not seeing your point.

    Project->Build Solution -- *magic* -- Ohmigod, it's a miracle! It's a binary! How did that happen!!?

    That was his point.

    My counterpoint is this:

    Without a build infrastructure like Ant or MSBuild, you're going to end up with a whole bunch of random build.bat scripts strewn all over the place. You'll have intermediate files here, there, and everywhere, with precious little rhyme or reason, because you don't care, because you're using GCC and damn proud of it. Part of using Visual Studio is you get that build system for free, with no additional effort required. If you like, you can open up the MSBuild files -- your project files -- in an XML editor, and tweak them to your hearts' content, and see what commands building resources actually involves. You can also break it so that resources are rebuilt every time instead of as needed, if you want. All of which you can do with GCC, by hand, if you want. All of which you can do with GCC and Eclipse, by hand, if you want. Just because it's not in-your-face doesn't mean it's intentionally obfuscated beyond accessability.

    And yeah, RC. And CL. And AL. You don't need Visual Studio to run these tools. You can do it yourself, like Spectre pointed out.



  • <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 12"><meta name="Originator" content="Microsoft Word 12"><link href="file:///C:%5CUsers%5Ctster%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"><link href="file:///C:%5CUsers%5Ctster%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"><link href="file:///C:%5CUsers%5Ctster%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="&#45;-"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><style>

    <!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p {mso-style-noshow:yes; mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    </style><!--[if gte mso 10]>

    <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;} </style>

    <![endif]-->

    @beau29 said:

    "Port" is probably too strong a verb... GCC really builds just about everything I have with minimal changes …

    <snip>

    consider that all of my GCC code is cross-platform. It's simply more valuable than the code I generated previously. Microsoft code has value only to the extent that Microsoft continues to sell, license, and promote the runtime. 

     

    Apparently you needed minimal changes so your code was valuable.  If you are using standard C or C++ and none of the Windows specific things then I don’t see how which compiler you are using will decide how valuable your code is.

    @beau29 said:

    The overall flow of my work and thinking is never interrupted by the 30-second detours that seem endemic to anything Microsoft writes

     

    Judging by your rant, it seems that you are writing your makefiles by hand.  In which case, the interruptions you now have are 15 minutes while you debug your makefile.  If you aren’t using makefiles (also likely since you keep going on about gcc and how easy it is to run it), then I don’t even know how to reason with you.  The difference between ctrl+shift+B  and switching to a shell and running a bunch of gcc or g++ commands is just ridiculous. 

    Furthermore, I’m a little confused by what the hell you are talking about.  You talk at great length about how much you hate Visual Studio.  Visual Studio is what we call an Integrated Development Environment.  I spell this out since you seem to think that Visual Studio is in direct competition with gcc, which is what we call a compiler.  Visual studio happens to use a compiler called CL. 

    Now I don’t know what the current development stack you are using is, but, make no mistake, Visual Studio is not the only way to develop in Windows.  I know people who are using Eclipse CDT and CL as their development stack.  You can even use notepad and MSBUILD if you want.  Anyways, CL is a fine compiler, so is GCC.  You seem to not like Visual Studio, in which case I would tell you there are plenty of other C++ IDEs for Windows.

    However, and back to your point now, if you are saying that you are more productive now that you are running gcc from the command line to build and editing with some syntax highlighting editor, I call bullshit.  Productivity killers are things like, having to find the line number of a syntax error or exception on the command line instead of having it immediately show up in the IDE; or having to look at .H files to see what functions and members exist on a class because you don’t have some kind of auto complete.  Now, if you’re using an IDE which has all these and is noticeably faster than Visual Studio, please let us know what it is. 

    @beau29 said:

    The link process is also laid bare in GCC... the programmer tells GCC what to compile when by just stringing together all the C/C++/COFF files in the correct order, e.g.:

    $ g++ app.cpp library1.cpp library2.cpp MyApp.coff

    This is not some magical, cryptic process that takes place behind a velvet curtain... but looking at Visual C++ you wouldn't know that. Microsoft really wants you to think they are doing more than they actually are. I am no longer falling for that trick.

     

    You do realize that Visual Studio creates a log file (and shows you where it is every time you build) which quite literally shows you every single command and every single command it runs when it builds your project.  It shows you the compiling, and the linking.

    By the way, how is your current method going to scale?  Are you going to keep adding .cpp files to the command line every time you create a new class?  Are you going to recompile everything every time you make a change?  I’m very confused since you are talking about linking but then show compiling of 2 .cpp files.

    @beau29 said:

    I love GCC, on the other hand, because I am in control. If I need a resource file, I have to add it.

     

    Most people call this a waste of their time, and something that should be made easier by tools.

    @beau29 said:

    The most obvious benefit I have seen is responsiveness. When I hit a key or click a menu item in Visual Studio, the time it can take to respond is unpredictable and unbounded. Accidental actions like inadvertently pressing F1 can cause the whole system to grind to a halt. Strange, computationally costly things seem to constantly be going on in other threads.

    <o:p> </o:p>

     

    I’ve never accidentally hit F1, but I hear that is bad.  Other than that, I’ve never experienced undue slowness in Visual Studio.  It is very responsive and the intelligence always pops up instantly.  I hate to say it, but Visual Studio is not meant to run on old computers with little memory.  Microsoft purposefully made the program more feature rich and powerful so that people with good computers can get more work done.

    By the way, those computations are probably background compilation.

    @beau29 said:

    Microsoft code has value only to the extent that Microsoft continues to sell, license, and promote the runtime. Real GCC code - in partciular the OpenGL code- is a more timeless asset

     

    The OpenGL code will only be good so long as OpenGL maintains backwards compatibility with the version that you used to make your programs.  Microsoft’s track record of backwards compatibility is much better than the open source world.  Furthermore, my money would be on Microsoft outlasting OpenGL or any other open source project.    I don’t know of open source projects that have been around as long as Windows.



  • @sootzoo said:

    @beau29 said:

    this thead ... really pissed me off. So here's what I did: Sunday, I decided to stop using Microsoft development tools as rapidly as possible.
     

    Upheaval of your entire dev environment over a forum thread, plus the other whinging, in response to the board's resident MS apologist?

    Okay, KenW earns my nomination for Troll of the Year. Legendary troll. To eleven.

    I wouldn't say KenW was trolling, but mad props to him if this is what actually happened.  However, I think it's more likely that we are being trolled. 



  • @tster said:

    I don’t know of open source projects that
    have been around as long as Windows.

    TeX, Emacs.



  • @beau29 said:

    Second, this thead (your response in particular, but all of it) really pissed me off. So here's what I did: Sunday, I decided to stop using Microsoft development tools as rapidly as possible.
     

    Great! Glad I could help.

    The next step (which should be obvious) is for you to quit trying to program totally. After all, you're clearly not qualified - you don't know the difference between Visual Studio (an Integrated Development Environment - IDE for those who have the brains) and GCC (a command line compiler). Perhaps flipping burgers is more in line with your talents? While they're sizzling, you can stand there and shout, "Down with the MAN!!!" to entertain yourself.



  • @sootzoo said:

    Upheaval of your entire dev environment over a forum thread, plus the other whinging, in response to the board's resident MS apologist?

    Not an MS apologist. I'm the first one to criticize MS when they've earned it. But I also won't bash them for absolutely no reason, or for things they did 20 years ago that don't apply now, or for things that are my fault because I'm not smart enough to figure something out on my own. Thanks anyway, though. 

    @sootzoo said:

    Okay, KenW earns my nomination for Troll of the Year. Legendary troll. To eleven.

     

    No. To be Troll of the Year, I'd have to have first been trolling, and would have had to make him give up computers totally. Since neither is the case, I'm not eligible. Maybe next time.



  • The open source projectfor Emacs started with GNU emacs in 84, Windows started in 81. 

    While tex did start earlier than windows (78), it wasn't released unti 89, so I don't know how if I would qualify the TeX project as older than Windows.

     

     

    By the way, I'm not saying there isn't one.  I'm just saying I don't know of any.



  • @KenW said:

    Not an MS apologist.
     

    Dude, you and asuffield had some of the most blindingly uncompromising personalities vis-a-vis discussions of Windows vs. Linux, be it system internals, development options, etc etc. Not that zealotry isn't par for the course around here, but some of the personal attacks and such were juuuust a bit on the petty side. I think we're splitting hairs, but then again you frequently argue with the "idiots who actually write 'M$'" crowd and I haven't yet seen you write a post mentioning "teh lunix", so, I'll concede the point.

    @KenW said:

    To be Troll of the Year, I'd have to have first been trolling

    IHBT again!

    But okay, you're not trolling. The sad part is, I don't think the other guy is, either. God, this industry sucks sometimes.



  • @sootzoo said:

    @KenW said:

    Not an MS apologist.
     

    Dude, you and asuffield had some of the most blindingly uncompromising personalities vis-a-vis discussions of Windows vs. Linux, be it system internals, development options, etc etc. Not that zealotry isn't par for the course around here, but some of the personal attacks and such were juuuust a bit on the petty side. I think we're splitting hairs, but then again you frequently argue with the "idiots who actually write 'M$'" crowd and I haven't yet seen you write a post mentioning "teh lunix", so, I'll concede the point.

    Honestly, KenW always seemed one of the more reasonable people in this regard.  I don't think I've ever read anything I saw as biased from him.  I say this as a FOSSfag and someone who doesn't use M$ products--from a convicted monopolist--but is tired of the anti-M$ zealotry FOSStards spout.



  • So I herd U likez IDEzsz

    @sceptre said:

    You are comparing apples to oranges. If you want to compare VS, compare it with Eclipse, or something. If you want to compare GCC, compare it with... "Microsoft (R) 32-bit C/C++ Optimizing Compiler", CL.

    OK, so I can buy Visual Studio and then use its command line tools to develop using Microsoft's brain-dead command prompt. Or, I can get Cygwin (or MinGW) and do the same thing for free, except I will get to use BASH or ZSH, which (I think we can all agree) are much better, and (unlike CMD.EXE) are widely implemented standards. I'm not sure what you're trying to prove by bringing this up.

    I guess you could argue that if one likes IDEs then Microsoft's is the best. My feeling is that most programmers will not really want an IDE anyway once they understand exactly how little it is doing for them. That was the main point of my last post.This is not an apples-to-orange comparison... it's a broad comparison between two interchangeable development strategies that produce an identical outcome.

    Besides that, I'm not at all convinced that Microsoft makes the best IDE. As I remember things, back in the 1990s products like SQLWindows and Delphi allowed a great deal of RAD / GUI design in an IDE environment. Visual Basic caught up with these products in the late 1990s, and basically ran them out of the market. Since then, Visual Studio has only regressed in terms of RAD and GUI app design. The WPF designer in VS2008 is really pretty bad... consider the lack of support for ViewBox for example.

    In my experience most VS2008 users simply don't use the visual designers. It's too easy to break designer support. Nested master pages are an ASP.NET example of something reasonable that completely hoses the VS designer. I think Microsoft is simply too ambitious architecturally to limit themselves to things that work well in a designer, and I think their products suffer because of it.

    I guess one can argue that there are other benefits to the IDE beyond RAD or being able to draw your GUI. But at this point you're offering up a pretty thin gruel. Yes, IDE users get the benefit on Intellisense, and The World's Slowest Help System, and the schizophrenic ability to build-while-editing-and-also-recompiling-the-Intellisense-database, and a whole lot of homoerotic talking paper clips and gradient backgrounds. I just don't think that's a worthwhile tradeoff. UNIX has features like "fork" and "man" that do a better job of these things anyway.

    @sceptre said:

    > rc MyApp.rc

    I'm not seeing your point.

    @sceptre said:

    Ever wondered what the "Create directory for solution" checkbox is for?

    No, I don't have a whole lot of curiousity about Microsoft's build logs, command line tools, and so on. For one thing, the command line isn't used as much in the Microsoft arena as in the UNIX arena, probably because their command prompt is so bad.

    But there's a more subtle reason as well. When I deconstruct the nuts-and-bolts of a Microsoft product, I don't feel like I'm really learning much about computing in general. I'm just seeing a whole bunch of annoying details decided on by people I don't like and don't respect.

    I remember once I did a project where I implemented serial communication over a single wire. Obviously, things have to be electrically grounded in a certain way to do this. And I had to learn a great deal about RS-232 and other standards. When I was doing this, I really felt like I was learning about the basics of computing, along with some immutable, universal laws about physics. But agonizing over, say, the ASP.NET page life cycle, or how Visual Studio 2008 compiles resources, or WPF dependency properties, just doesn't rise to the same level of learning or excitement for me. It just feels like I'm playing around in Scott Guthrie's underwear drawer, learning a whole lot of otherwise useless details about someone I don't really like anyway.

    @morbius wilters said:

    The next step (which should be obvious) is for you to quit trying to program totally. After all, you're clearly not qualified - you don't know the difference between Visual Studio (an Integrated Development Environment - IDE for those who have the brains) and GCC (a command line compiler). Perhaps flipping burgers is more in line with your talents? While they're sizzling, you can stand there and shout, "Down with the MAN!!!" to entertain yourself.

    I don't know what I did to deserve such an ad hominem attack... how or why people manage to get so defensive about Microsoft is a question that I can't even begin to answer. We're not talking about a puppy with heartworms, for @#$@ sake, we're talking about an incredibly rich private business. They don't need a cheerleader.

     And I don't think I'll ever quit programming because, quite honestly, it gratifies me to earn a good living doing something that my colleagues say I'm bad at. I've been insulted by people who were probably even more stupid and incompetent than you, and my general response has been to go out into the open market and write myself a 20% raise. Believe me, as I sit here doing real-time programming in C++, I'm not a bit worried about the crummy database programmers (like you, probably) who used to run me down at my old jobs.  But if it makes you FEEL better you can pretend I'm rotting in the gutter ;)



  • @KenW said:

    The
    next step (which should be obvious) is for you to quit trying to
    program totally. After all, you're clearly not qualified - you don't
    know the difference between Visual Studio (an Integrated Development
    Environment - IDE for those who have the brains) and GCC (a command
    line compiler). Perhaps flipping burgers is more in line with your
    talents? While they're sizzling, you can stand there and shout, "Down
    with the MAN!!!" to entertain yourself.

     

    @beau29 said:

    @morbius wilters said:
    The next step (which should be obvious) is for you to quit trying to program totally. After all, you're clearly not qualified - you don't know the difference between Visual Studio (an Integrated Development Environment - IDE for those who have the brains) and GCC (a command line compiler). Perhaps flipping burgers is more in line with your talents? While they're sizzling, you can stand there and shout, "Down with the MAN!!!" to entertain yourself.

    I don't know what I did to deserve such an ad hominem attack... how or why people manage to get so defensive about Microsoft is a question that I can't even begin to answer. We're not talking about a puppy with heartworms, for @#$@ sake, we're talking about an incredibly rich private business. They don't need a cheerleader.

    And I don't think I'll ever quit programming because, quite honestly, it gratifies me to earn a good living doing something that my colleagues say I'm bad at. I've been insulted by people who were probably even more stupid and incompetent than you, and my general response has been to go out into the open market and write myself a 20% raise. Believe me, as I sit here doing real-time programming in C++, I'm not a bit worried about the crummy database programmers (like you, probably) who used to run me down at my old jobs.  But if it makes you FEEL better you can pretend I'm rotting in the gutter ;)

     

    Quote FAIL.



  • @beau29 said:

    OK, so I can buy Visual Studio and then use its command line tools to
    develop using Microsoft's brain-dead command prompt. Or, I can get
    Cygwin (or MinGW) and do the same thing for free, except I will get to
    use BASH or ZSH, which (I think we can all agree) are much better, and
    (unlike CMD.EXE) are widely implemented standards. I'm not sure what
    you're trying to prove by bringing this up.

     

    If you want a powerful shell, then Microsoft delivered Power Shell for you with Vista.  I wouldn't agree that BASH, or SH, or CSH, or TCSH, or KSH is better than it.  I don't use shells for scripting though so perhaps the scripting languages in the unix environments are better.  Anyways, when I need a script I use Perl.

    @beau29 said:

    I guess you could argue that if one likes IDEs then Microsoft's is the best. My feeling is that most programmers will not really want an IDE anyway once they understand exactly how little it is doing for them.

     

    Your feeling is wrong.

     

    @beau29 said:


    Besides that, I'm not at all convinced that Microsoft makes the best IDE. As I remember things, back in the 1990s products like SQLWindows and Delphi allowed a great deal of RAD / GUI design in an IDE environment. Visual Basic caught up with these products in the late 1990s, and basically ran them out of the market. Since then, Visual Studio has only regressed in terms of RAD and GUI app design.

    Visual Studio sucks, blah blah blah.  This is the tenth time you've said this.  Repitition does not make it true.

     @beau29 said:

    The WPF designer in VS2008 is really pretty bad... consider the lack of support for ViewBox for example.

     

    The WPF designer is not meant to be used for real application development.  I think it is more of a thing so that developers can play with WPF.  The actual WPF application design is suppose to be done by designers and artists in existing 3rd party tools and then exported to XAML.

    @beau29 said:

    I guess one can argue that there are other benefits to the IDE beyond RAD or being able to draw your GUI. But at this point you're offering up a pretty thin gruel. Yes, IDE users get the benefit on Intellisense, and The World's Slowest Help System, and the schizophrenic ability to build-while-editing-and-also-recompiling-the-Intellisense-database, and a whole lot of homoerotic talking paper clips and gradient backgrounds. I just don't think that's a worthwhile tradeoff. UNIX has features like "fork" and "man" that do a better job of these things anyway.

      

    If you think Intellisense and background building is not important than I'm sure that the programmers that "ran you down" are glad to get rid of you.  And if you think man is better than the MSDN online, then you have some serious issues.  the manpages are alright, but to learn how to really use most of the library functions in unix you usually have to read about it in a book or a discussion group.

    By the way, what the fuck does fork have to do with any of the things you are talking about?

    @beau29 said:

    @sceptre said:
    Ever wondered what the "Create directory for solution" checkbox is for?

    No, I don't have a whole lot of curiousity about Microsoft's build logs, command line tools, and so on. For one thing, the command line isn't used as much in the Microsoft arena as in the UNIX arena, probably because their command prompt is so bad.

     

    I think the "Create directory for solution" checkbox is probably part of the GUI and not really anything to do with a build log or command line tool.  Nice try though!

    @beau29 said:


    But there's a more subtle reason as well. When I deconstruct the nuts-and-bolts of a Microsoft product, I don't feel like I'm really learning much about computing in general. I'm just seeing a whole bunch of annoying details decided on by people I don't like and don't respect.

     

     

    If you are programming to learn about computers, and serial communication, and computing basics, then .NET probably isn't going to be your thing.  Stick to low level languages and take some college courses.  However, if you are programming to develop some useful end product for a customer then you should use the most powerful language and tools you can find.  Wether that is .NET or not is up to you.  I personally used to be a big fan of Java and Perl.  Then I discovered C# and realized that after only a couple months working with it, I could be mroe productive than I could be with Java after 4 years.  If that isn't you, then whatever.  But don't claim that Microsoft sucks because while using .NET you don't learn about processor registers and memory allocation.

    @beau29 said:

      

    I remember once I did a project where I implemented serial communication over a single wire. Obviously, things have to be electrically grounded in a certain way to do this. And I had to learn a great deal about RS-232 and other standards. When I was doing this, I really felt like I was learning about the basics of computing, along with some immutable, universal laws about physics. But agonizing over, say, the ASP.NET page life cycle, or how Visual Studio 2008 compiles resources, or WPF dependency properties, just doesn't rise to the same level of learning or excitement for me. It just feels like I'm playing around in Scott Guthrie's underwear drawer, learning a whole lot of otherwise useless details about someone I don't really like anyway.

     

      

    Funny, worrying about memory de-allocation and low level communication protocols makes me feel like I'm wasting my time.  I program to be as productive as possible.

    @beau29 said:

      

    I don't know what I did to deserve such an ad hominem attack... how or why people manage to get so defensive about Microsoft is a question that I can't even begin to answer. We're not talking about a puppy with heartworms, for @#$@ sake, we're talking about an incredibly rich private business. They don't need a cheerleader.

     

    What do you mean "being defensive"?  You make a claim, we either refute it or agree with it or don't post anything.  Many of us obviously disagree with what you say, therefore we tell you what we think.  If you think we are just being defensive then I have to ask what should we say?   Should we just agree with you or shut up?  You must be a big support of He-Who-Must-Not-Be-Named (Hussein, not Voldemort).

    @beau29 said:

       

     And I don't think I'll ever quit programming because, quite honestly, it gratifies me to earn a good living doing something that my colleagues say I'm bad at. I've been insulted by people who were probably even more stupid and incompetent than you, and my general response has been to go out into the open market and write myself a 20% raise. Believe me, as I sit here doing real-time programming in C++, I'm not a bit worried about the crummy database programmers (like you, probably) who used to run me down at my old jobs.  But if it makes you FEEL better you can pretend I'm rotting in the gutter ;)

     

    The amount of money you make does not earn you kudos here or impress us.  This website itself is proof that there are tons of morons out there raking in money writing shitty code.  We respond only to the ideas and reasoning that are displayed in your posts.



  • @tster said:

    I wouldn't agree that BASH, or SH, or CSH, or TCSH, or KSH is better than it.  I don't use shells for scripting though so perhaps the scripting languages in the unix environments are better.  Anyways, when I need a script I use Perl.

    Ditto.  Or PHP, Python, Ruby...

     

    @tster said:

    Your feeling is wrong.

    Agreed.  I use vim for everything, but that's just a personal preference.  I certainly wouldn't expect most developers to feel the same: IDEs offer a variety of useful tools.  For some reason, though, those tools just do not jive with the way I think which means I spend more time messing with the tools than I should.

     

    @tster said:

    Funny, worrying about memory de-allocation and low level communication protocols makes me feel like I'm wasting my time.  I program to be as productive as possible.

    Ditto.  I find low-level stuff fascinating, but I realize that it simply isn't useful knowledge for most development.  I treat it more like a hobby than a skill and I tend to mess with low-level stuff in my own time rather than waste employer's time and money on it.  I can see that it's only so much nerdy wanking, something beau29 seems to not recognize.

      

    @tster said:

    The amount of money you make does not earn you kudos here or impress us.  This website itself is proof that there are tons of morons out there raking in money writing shitty code.  We respond only to the ideas and reasoning that are displayed in your posts.

    Right.  Not that there's anything wrong with doing real-time C++, but it's a niche market.  To put down "database programmers" is simply absurd elitism bullshit.

     

    Quite frankly, I think this guy is just a troll.  Most of his rhetoric reads like Slashdot flamebait. 



  • Dedicated to SubLogic, Inc. 80 - 08

    Please, I am not a troll and I'm sorry if I offended you all. I don't think I've ever even read anything hosted on Slashdot.com.

    My suggestion is just that Microsoft isn't making very good development tools right now. Give me credit for at least posting a bunch of real examples and for trying to offer real help about a real alternative.

    Much of what I posted here amounted to very specific advice like "when you want to make a .cpp application for Windows, don't pay lots of money for Visual Studio; use GCC instead; here's how you get it for free and an example of how to use it."

    I don't think that any of this necessarily constitutes a rant. When I got an ad hominem response, I got a bit ugly. Frankly, I think Microsoft needs its comfy little cage rattled a bit.

    God, everyone knows that this kind of discussion is the whole reason Al Gore invented the internet, and his special rhythms.

     



  • @morbiuswilters said:

    Agreed.  I use vim for everything, but that's just a personal preference.  I certainly wouldn't expect most developers to feel the same: IDEs offer a variety of useful tools.  For some reason, though, those tools just do not jive with the way I think which means I spend more time messing with the tools than I should

    IIRC, you mostly do web programming so this may not apply as much, but as the whole thread started about C++, how do you (or beau29) debug code? Is there some symbolic debugger that you attach to the compiled executable or is your code riddled with cout (I think cout, not a C++ dev) statements?

    I would assume the latter and also that this happens to waste a whole lot of your programming time. One of the first things I was taught in college (after the language syntax and semantics) was the value of a symbolic debugger.



  • @beau29 said:

    Re: Dedicated to SubLogic, Inc. 80 - 08

    Am I missing something here? Was this some poor joke that I missed? About the only relevant thing from google is http://www.sublogic.com/ and the only guy I see there that is a deveolper has this on his resume

    President, Lead Engineer
    Sublogic, Inc.
    April 1998–

    and

    Software Design Engineer
    Microsoft Corporation
    December 2003–
    Projects:
    • Visual Studio

     

    On a totally different, note who the hell puts their resume in XML (http://www.sublogic.com/james/resume/resume.xml)?



  • @MorallyLost said:

    IIRC, you mostly do web programming...

    You do RC.

     

    @MorallyLost said:

    ...so this may not apply as much, but as the whole thread started about C++, how do you (or beau29) debug code? Is there some symbolic debugger that you attach to the compiled executable or is your code riddled with cout (I think cout, not a C++ dev) statements?

    I would assume the latter and also that this happens to waste a whole lot of your programming time. One of the first things I was taught in college (after the language syntax and semantics) was the value of a symbolic debugger.

    Generally with server-side web apps you do something similar to the "cout" method of debugging: either logging to a file or included some way with the page source.  With Javascript there are debuggers available, but server-side code doesn't really work with breakpoints and the like.  Of course, there are lots of ways to do it, but I tend to send debug messages to the rendered page as inline Javascript data that is then accessed through something like Firebug or a simple pop-up window widget written in JS.



  • I've worked extensively with both GCC and Visual Studio (and I use Linux both at home and at work), and suspect most people would say the latter is better. GCC on Windows is extremely painful to use, and as you yourself indicadted, it doesn't have full support for the Win32 API (this is a limitation of the w32api headers package vs. GCC itself).

     IDEs work well for many people, and frankly, Visual Studio is one of the best products to ever leave Microsft, and its debugger deminates GDB in terms of functionality and speed (as well as ease of use; although Eclipse+GDB is getting better with each release). There is no equivelent to it on any other platform (XCode is alright, but Eclipse+CDT wasn't that great the last time I used it (I always felt there is a disconnect between the IDE and the build system and it was easy for things to go boom ...); I use vim with cmake or automake on Linux). When I ported a Windows based project to Linux, we used CMake to replace VS based system simply on the grounds that CMake intergrates quite nicely with VS (its not perfect, but its better then any other cross- platform build system I ever saw). 

     @tster said:

    @beau29 said:

      

    I remember once I did a project where I implemented serial communication over a single wire. Obviously, things have to be electrically grounded in a certain way to do this. And I had to learn a great deal about RS-232 and other standards. When I was doing this, I really felt like I was learning about the basics of computing, along with some immutable, universal laws about physics. But agonizing over, say, the ASP.NET page life cycle, or how Visual Studio 2008 compiles resources, or WPF dependency properties, just doesn't rise to the same level of learning or excitement for me. It just feels like I'm playing around in Scott Guthrie's underwear drawer, learning a whole lot of otherwise useless details about someone I don't really like anyway.

     

      

    Funny, worrying about memory de-allocation and low level communication protocols makes me feel like I'm wasting my time.  I program to be as productive as possible.

    tster is completely  right, do you want to handle everything by hand, or let a computer do what its good at and handle the resource management for you. There are times where low level programming such as hand written assembly are apporate, but those times are few and far between, and quite frankly, using Python (which is my perferred choice of doing quick and dirty apps) works because I don't need to think about it, my programs don't need to be optimized to the every last bit, I can finish my work quickly and not worry about having a crash or other bad things due to user error like freeing on a NULL pointer, or having an off by one error.

     

    @beau29 said:

       

     And I don't think I'll ever quit programming because, quite honestly, it gratifies me to earn a good living doing something that my colleagues say I'm bad at. I've been insulted by people who were probably even more stupid and incompetent than you, and my general response has been to go out into the open market and write myself a 20% raise. Believe me, as I sit here doing real-time programming in C++, I'm not a bit worried about the crummy database programmers (like you, probably) who used to run me down at my old jobs.  But if it makes you FEEL better you can pretend I'm rotting in the gutter ;)


     Quite frakly, your attitude sucks. People don't call your code or method of doing something crap without just cause. Learn to listen to some critism and maybe, just maybe improve yourself a bit. No matter how much of an expert you are on something, there is someone out there who is 10 times the expert, and by ignoring them, all you do is make yourself look like an idiot to those who you could learn something from.

     



  • @Michael Casadevall said:

    @beau29 said:

       

     And I don't think I'll ever quit programming because, quite honestly, it gratifies me to earn a good living doing something that my colleagues say I'm bad at. I've been insulted by people who were probably even more stupid and incompetent than you, and my general response has been to go out into the open market and write myself a 20% raise. Believe me, as I sit here doing real-time programming in C++, I'm not a bit worried about the crummy database programmers (like you, probably) who used to run me down at my old jobs.  But if it makes you FEEL better you can pretend I'm rotting in the gutter ;)


     Quite frakly, your attitude sucks. People don't call your code or method of doing something crap without just cause. Learn to listen to some critism and maybe, just maybe improve yourself a bit. No matter how much of an expert you are on something, there is someone out there who is 10 times the expert, and by ignoring them, all you do is make yourself look like an idiot to those who you could learn something from.

    Yes, I agree, that post was mean-spirited, and probably did a disservice to some very smart people.  But please remember that I only wrote this in response to someone who said that I should "just quit programming" and made all sorts of sarcastic comments about "flipping burgers" and so on.  I thought that was inappropriate. MorbiusWilters posted some basically reasonable arguments about my high-level judgment about products, paradigms, etc.... but then he couched it in this personal attack on my competence as a programmer. In my experience, good programmers are hard to find and it's not helpful to discourage them. Please do not chastise me for responding mildly in-kind to such a post.



  • @beau29 said:

    But please remember that I only wrote this in response to someone who said that I should "just quit programming" and made all sorts of sarcastic comments about "flipping burgers" and so on.  I thought that was inappropriate. MorbiusWilters posted some basically reasonable arguments about my high-level judgment about products, paradigms, etc.... but then he couched it in this personal attack on my competence as a programmer.

    Please re-read everything I've posted in this thread.  Somebody else said that, as I attempted to indicate above with my "Quote FAIL" reply to you.

     

    I did say I suspected you were trolling simply because some of your comments seem over-the-top, such as quitting the M$ environment entirely due to a forum post and mocking "database programmers" who don't do real-time C++.  You seem somewhat contrite and sincere in your latest post, so perhaps I was in error.  Regardless, I've never used Visual Studio so I can't argue with your points against it.  I only jumped in to note your seemingly-hyperbolic rhetoric and to defend the fair maiden KenW's honor.



  • @beau29 said:

    Much of what I posted here amounted to very specific advice like "when you want to make a .cpp application for Windows, don't pay lots of money for Visual Studio; use GCC instead; here's how you get it for free and an example of how to use it."

    Note that you're still comparing IDEs with compilers. And for the record, you can get the Microsoft [b]compiler[/b] [url=http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF]for free[/url].

    And quit misspelling me.



  • @beau29 said:

      But please remember that I only wrote this in response to someone who said that I should "just quit programming" and made all sorts of sarcastic comments about "flipping burgers" and so on.  I thought that was inappropriate. MorbiusWilters posted some basically reasonable arguments <snip> but then he couched it in this personal attack on my competence as a programmer.

     

    Welcome to TheDailyWTF forums; we aren't forums.sun.com.  We use a lot of tongue-in-cheek personal attacks, which might seem bad at first, but in the end it makes for a much better community then most of the heavily moderated forums.



  • @morbiuswilters said:

    Generally with server-side web apps you do something similar to the "cout" method of debugging: either logging to a file or included some way with the page source.  With Javascript there are debuggers available, but server-side code doesn't really work with breakpoints and the like.  Of course, there are lots of ways to do it, but I tend to send debug messages to the rendered page as inline Javascript data that is then accessed through something like Firebug or a simple pop-up window widget written in JS.

     

    It's too bad you are still living in the Swamp of FOSS.  We who have found the light are pretty used to remote debugging (I think eclipse has this too, but I don't know if it works with tomcat hosted web-services) and one-click launching of test services on your local machine.



  • @MorallyLost said:

    how do you (or beau29) debug code? Is there some symbolic debugger that you attach to the compiled executable or is your code riddled with cout (I think cout, not a C++ dev) statements?

    I would assume the latter and also that this happens to waste a whole lot of your programming time. One of the first things I was taught in college (after the language syntax and semantics) was the value of a symbolic debugger.

     

    never heard of GDB? Basically you compile with debugging flag and then can start you program using gdb.

    I'm not sure if Visual Studio uses the command line debugger or not, but there is one for .NET too.  Also, if you've ever used eclipse, I'm pretty sure it is (or at least used to) just be a wrapper around a command line debugger.



  • @morbiuswilters said:

    I attempted to indicate above with my "Quote FAIL" reply to you.
     

    Which was equally subtle, cough.



  • @tster said:

    never heard of GDB? Basically you compile with debugging flag and then can start you program using gdb.

    No, that's why I asked if they used an external debugger that attached to the exe. I assumed that they existed but they(specifically beau29) didn't use it because I figured it would have otherwise been included in the huge rant above (this debugger is much better than the VS crap, etc). I've never had to write any C++/C# and wrote C in only one class which I pretty much threw printfs around to debug.

    @Michael Casadevall said:

    IDEs work well for many people, and frankly, Visual Studio is one of
    the best products to ever leave Microsft, and its debugger deminates
    GDB in terms of functionality and speed (as well as ease of use;
    although Eclipse+GDB is getting better with each release).
    I did realize it after reading this which was posted after me, but thanks for pointing it out again...

    @tster said:

    We who have found the light are pretty used to remote debugging (I
    think eclipse has this too, but I don't know if it works with tomcat
    hosted web-services)
    I'm not sute about JS but I know you can connect to tomcat web-services written in java and also J2EE jboss applications as well (currently working on code that does both of these).

    We also use BeanShell which is a java compatible scripting language that is capable of interpreting ordinary Java source and loading .java
    source files from the classpath1. This leads me to throwing exceptions with variables, etc. in the message to debug.

    1Before someone flips out, yes I did take most of that statement straight from their website, as they describe it better than me and I haven't had any coffee this morning.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.