Thread: Does Visual Studio Rot the Mind?

  1. #1
    The Right Honourable psychopath's Avatar
    Join Date
    Mar 2004
    Location
    Where circles begin.
    Posts
    1,071

    Does Visual Studio Rot the Mind?

    http://www.charlespetzold.com/etc/Do...otTheMind.html

    Abstract: Visual Studio can be one of the programmer's best friends, but over the years it has become increasingly pushy, domineering, and suffering from unsettling control issues. Should we just surrender to Visual Studio's insistence on writing our code for us? Or is Visual Studio sapping our programming intelligence rather than augmenting it? This talk dissects the code generated by Visual Studio; analyzes the appalling programming practices it perpetuates; rhapsodizes about the joys, frustrations, and satisfactions of unassisted coding; and speculates about the radical changes that Avalon will bring.

    Good read, if you're interested.
    M.Eng Computer Engineering Candidate
    B.Sc Computer Science

    Robotics and graphics enthusiast.

  2. #2
    Banned SniperSAS's Avatar
    Join Date
    Aug 2005
    Posts
    175
    I use dev-cpp because it is free

  3. #3
    Software Developer jverkoey's Avatar
    Join Date
    Feb 2003
    Location
    New York
    Posts
    1,905
    "Sometimes the computer goes so haywire that it does something that no sane human would ever dream of doing — such as starting a war."

    That quote is priceless.

  4. #4
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Visual Studio is a good product, but you cannot let it write all of your MFC code for you. It does some rather 'odd' things at times.

    The major downfall of the current version and of all previous versions is that it does not allow subclassing of custom classes.

    In other words let's say I derive CMyTabCtrl from CTabCtrl. I want to stick CMyTabCtrl into a dialog resource. Well....you can't. You can only choose CTabCtrl. So you must manually go into the source and edit certain lines so that messages are passed to your control correctly. This is a major oversight.

    I've mentioned this before but it also will stick 'public:', 'protected:' and 'private:' on the line preceding all your variables. In other words it doesn't group public, private and protected variables into clear sections. I'm sure this is a bug somewhere. The code ends up looking like this:

    Code:
    #pragma once
    
    class CMyDialog:public CDialog
    {
      ...
      ...
      private:
        CTabCtrl  m_tabItems;
      public:
        CListBox  m_lstFolders;
      protected:
        CButton  m_btnOk;
      public:
        CButton m_btnNext;
      ...
    };
    Talk about ugly.

    Thankfully they did get rid of that stupid

    Code:
    #ifndef 5958349535385934aJSOKSJGSKGJGKFDJKLJLJkjgsgkdgjg5493869685965_h
    #define 5958349535385934aJSOKSJGSKGJGKFDJKLJLJkjgsgkdgjg5493869685965_h
    
    class ....
    {
      ...
      ...
      //Dont touch this moron
      //end of dont touch this moron
    
      //Don't touch this either
      //end of don't touch this either
    };
    
    #endif //end of 5958349535385934aJSOKSJGSKGJGKFDJKLJLJkjgsgkdgjg5493869685965_h
    Last edited by VirtualAce; 06-21-2006 at 12:46 AM.

  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I'm obviously not versed in C++, having just recently started to learn the language. However the same issues arise in other programming languages where the IDE makes an effort to simplify regular coding procedures by generating the ode for us.

    I always found the time I spend tweaking the produced code to my liking/style, is very close to the time I would have spent writting the same thing from scratch. So I'm usually averse to use any wizards. Microsoft does have a long tradition of "writting code for us" and doing it in ways that makes hair grow on our backs. However, I do think their approach proves successful to those few that choose to not fight it, but instead shift their brains towards Microsoft programming practices.

    Overall I think this was never a successful move from companies that provide IDEs. I find it actually somewhat ironic that while they spend a lot of time providing these features on their IDEs, those are almost never discussed as either good or bad features by software reviewers. They are actually ignored for the most part when it comes to decide what makes an IDE good or bad.

    On the other hand, there's CASE tools. It's also ironic that for the most part these tools provide much cleaner code than the wizards provided by IDEs. It's true that wizards provide very little information to the IDE in comparison to CASE tools. The IDE has to make a lot of assumptious, but I'm yet to see a simple CASE tool fully integrated into the coding environment. Something that always stroke me as odd.
    Last edited by Mario F.; 06-21-2006 at 05:33 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  6. #6

    Join Date
    May 2005
    Posts
    1,042
    and even this past summer, Hollywood squeezed out a little cinematic turd called Stealth
    And they don't mention the terminator movies? *sigh* I love movies that speak of computer intelligence taking over...read age of spiritual machines by ray kurzweil

    EDIT:
    I just read the intellisense section...not only do I use that extensively, I actually bought an addon called visual assist from wholetomato software, which is basically intellisense on steroids
    Last edited by BobMcGee123; 06-24-2006 at 04:36 PM.
    I'm not immature, I'm refined in the opposite direction.

  7. #7
    C++ Enthusiast jmd15's Avatar
    Join Date
    Mar 2005
    Location
    MI
    Posts
    532
    The scent of MFC is strong in this thread. A most replusive stench.
    Trinity: "Neo... nobody has ever done this before."
    Neo: "That's why it's going to work."
    c9915ec6c1f3b876ddf38514adbb94f0

  8. #8
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    The scent of MFC is strong in this thread. A most replusive stench.
    Only if you don't know how to use it.

  9. #9
    C++ Enthusiast jmd15's Avatar
    Join Date
    Mar 2005
    Location
    MI
    Posts
    532
    Lol, I VERY MUCH prefer raw Win32 over it. I know how to use that quite well and I don't want to use MFC. It disgusts me.
    Trinity: "Neo... nobody has ever done this before."
    Neo: "That's why it's going to work."
    c9915ec6c1f3b876ddf38514adbb94f0

  10. #10
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Just don't go about having a mild opinion. No, sir. The important thing is being passionate....
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  11. #11
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Quote Originally Posted by Bubba
    Only if you don't know how to use it.
    Even then.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  12. #12
    Dump Truck Internet valis's Avatar
    Join Date
    Jul 2005
    Posts
    357
    I VERY MUCH prefer raw Win32 over it. I know how to use that quite well and I don't want to use MFC. It disgusts me.
    I agree completely, I learned on MFC and then when I moved to the straight api it became much simpler to get things done (still ugly compared to something real, say--qt or gtk).

  13. #13
    train spotter
    Join Date
    Aug 2001
    Location
    near a computer
    Posts
    3,868
    >>The scent of MFC is strong in this thread. A most replusive stench.

    I have written many commercial WIN32 apps and many commercial MFC apps.

    Give me MFC any day. Its advantage is in quick development time.

    Most of the time I have to have the app written and tested by yesterday and demonstrate it to the client tomorrow in some mining site hundreds of km from anywhere.

    Most of the people who bag MFC also dislike VB. Both are excelent tools if matched to the right job.

    For example when coding a COM interfaces (DLL) for an ASP web page (which is also being written) a VB/MFC test app can be written in minutes. Pure WIN32 can take hours....
    "Man alone suffers so excruciatingly in the world that he was compelled to invent laughter."
    Friedrich Nietzsche

    "I spent a lot of my money on booze, birds and fast cars......the rest I squandered."
    George Best

    "If you are going through hell....keep going."
    Winston Churchill

  14. #14
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Lol, I VERY MUCH prefer raw Win32 over it. I know how to use that quite well and I don't want to use MFC. It disgusts me.
    MFC is a tool. If you prefer not to use the tool that's ok. But just because you don't like one kind of hammer, doesn't mean it's useless.

    And let's be sure you don't like MFC for valid reasons instead of the fact that you probably have not used it much. Document/View architecture excluded, MFC is pretty much a straightforward encapsulation of the Win32 API. Yes they did some strange things at times, but for the most part...it kicks ass.

  15. #15
    Banal internet user
    Join Date
    Aug 2002
    Posts
    1,380
    I'll always be a minimalist, always.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Testing some code, lots of errors...
    By Sparrowhawk in forum C Programming
    Replies: 48
    Last Post: 12-15-2008, 04:09 AM
  2. Can we have vector of vector?
    By ketu1 in forum C++ Programming
    Replies: 24
    Last Post: 01-03-2008, 05:02 AM
  3. C++ std routines
    By siavoshkc in forum C++ Programming
    Replies: 33
    Last Post: 07-28-2006, 12:13 AM
  4. pointer to array of objects of struct
    By undisputed007 in forum C++ Programming
    Replies: 12
    Last Post: 03-02-2004, 04:49 AM
  5. <list>
    By Unregistered in forum C++ Programming
    Replies: 9
    Last Post: 02-24-2002, 04:07 PM