Thread: MSVC++ Versions

  1. #1
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200

    MSVC++ Versions

    I am seriously considering getting MSVC++ but there are several different versions. Which one would be good for me

    • Intermediatish Programmer

    • Dont want to spend a bundle

    • Want it to be upto date and fully functional with all of todays stuff/standards


    [edit]
    Alot of you seem to be using MSVC 6.0... Is that a recent version?
    Last edited by Vicious; 09-14-2004 at 08:55 PM.
    What is C++?

  2. #2
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    >>Is that a recent version?
    MSVC .NET is the most recent version. 6 (the one I'm using) is less standard and has a few bugs in the standard headers that you have to fix yourself, although there's docs on most of them. [edit]It's the predecessor of .NET, so it's reasonably recent.[/edit]

    >>Dont want to spend a bundle
    Since 6 is now 'out of date', it'll probably be cheaper. It works fine for me, standard and bugs or no (I got the pro edition at academic pricing a few years ago... around $300 discount when I bought it).

    >>Want it to be upto date and fully functional with all of todays stuff/standards
    I haven't had any problems with out-of-datedness yet. It's pretty stable and complies reasonably well with the standard - though far from perfectly - and since the standard hasn't changed to the best of my knowledge, I don't see any reason why it should be out of date. Todays stuff and standards is pretty much just higher versions of OpenGL and DirectX, maybe higher Windows SDK. But if you don't mind the trouble, you can download them from the web anyways.

    I've heard some say that NET's IDE rocks, kicks 6's butt, but I've also heard others say it's too cluttered and hard to find anything while 6 is simple and clean. But I haven't seen NET, so I can't offer anything other than hearsay about it.

    [edit2]I was thinking of moving to .NET for the better standard compliance, but it costs an arm and a leg (and I've only got 2 of each), so I'll see if I can get a learning edition free - or better, standard edition - from a school course in the future or something.[/edit2]
    Last edited by Hunter2; 09-14-2004 at 10:27 PM.
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  3. #3
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    Ok, I'll assume that these bugs are either easy to fix or not to much of a bother?

    I would hate to pay that much for something if other free IDE's ( Dev-Cpp / MinGW Studio ) do a better job!
    What is C++?

  4. #4
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    VC++6 (compiler version 6.0) is outdated and has weak support for templates. The STL header files contain bugs and incompletenesses. This can be largely solved by using a different STL.
    VC++.Net 2002 (compiler version 7.0) has a new STL, but still the same problems with templates. The IDE is, IMHO, pretty much the same. IntelliSense is harder to confuse than in 6, but still easy enough.
    VC++.Net 2003 (compiler version 7.1) has a very up-to-date compiler which has excellent standards compliance. The STL, too, us updated to make use of this.

    VC++.Net 2003 is high in prize, unless you can perhaps get a student version somewhere. The commmand line tools (compiler, linker, debugger, ...) are freely available for download from MS.

    Dev-C++ now has a very standards-compliant compiler (gcc3.x) and from what I've heard a good IDE.

    Before getting anything but .Net2003 I'd rather go for Dev-C++. But then, I'm very fond of advanced template games.
    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

  5. #5
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    >>VC++6 (compiler version 6.0) is outdated
    What defines outdated in a language that doesn't change?

    >> and has weak support for templates.
    I rarely use templates, so I can't comment. The basic things I've done with templates seem to work fine for me.

    >>The STL header files contain bugs and incompletenesses.
    Fair enough. But you can find bugs and fixes on the internet, which are fairly easy to fix (run the STL function in the debugger; continually step deeper into the implementation until you reach the target code, then replace it and save).

    >>I would hate to pay that much for something if other free IDE's ( Dev-Cpp / MinGW Studio ) do a better job!
    I can make no guarantees, since I've never used the others

    Actually, I just received a 'visual studio' set today from a web course that I registered for. I haven't gotten a chance to look at it, but I'm hoping it's .NET and includes MSVC - although with only 3 cd's, I highly doubt it.
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  6. #6
    Registered User jlou's Avatar
    Join Date
    Jul 2003
    Posts
    1,090
    Quote Originally Posted by Hunter2
    >>VC++6 (compiler version 6.0) is outdated
    What defines outdated in a language that doesn't change?
    Maybe a compiler that is almost 10 years old, came out before the one and only language standard, and has had one major version and several minor upgrades that have been released since it was?

  7. #7
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    I tried this.

    Code:
    #include <iostream>
    
    int main ( void )
    {
    
        std::cout << "Ah";
    
        return 0;
    
    }
    And it compiled without any errors with the MSVC++ 6.0 compiler.
    What is C++?

  8. #8
    Registered User jlou's Avatar
    Join Date
    Jul 2003
    Posts
    1,090
    Code:
    #include <iostream>
    
    int main ()
    {
        std::cout << "Ah";
    }
    This is also standard, but MSVC++ gives warnings. There are other more complicated examples of standard code that doesn't compiler in 6.0. A lot of the standard code works because they used a draft of the standard (or so I've heard) when doing 6.0, but they finished the compiler before they finished the standard.

  9. #9
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    Oh, I see.

    Maybe these things are fixable?

    Since the command line tools are free, wouldnt it be possible to "update" the compiler by downloading the most recent command line tools?
    What is C++?

  10. #10
    Registered User
    Join Date
    Aug 2004
    Location
    San Diego, CA
    Posts
    313
    Quote Originally Posted by Vicious
    Oh, I see.

    Maybe these things are fixable?

    Since the command line tools are free, wouldnt it be possible to "update" the compiler by downloading the most recent command line tools?
    That's something I've been wondering too.

  11. #11
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    >>Maybe a compiler that is almost 10 years old, came out before the one and only language standard
    I see. That might do it, I suppose

    And speaking of that visual studio that I just got... Interestingly enough, it's Visual Studio 6.0 Professional, and includes both Visual Basic and C++. It would seem that I got half of my wish - it came with C++, but it came with the one that I already had
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  12. #12
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    It is possible to inject the 7.1 compiler into the 6.0 IDE. However, some compiler switches are incompatible, so you may end up with unexpected errors on setting some project option.
    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

  13. #13
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    Posts
    4,981

    It's free, for only $9.95 shipping and handling

    What you can download from Microsoft, right now, for free:
    - the latest and greatest, C/C++ optimizing compiler
    - the latest MS C Runtime Library
    - the latest MS Standard C++ Library including STL

    As CornedBee mentioned, the VS 6.0 IDE can be configured to use the new compiler and link tools (haven't had time to try this out myself) as well as the latest C and C++ libraries.

    Want an IDE and debugger too? You can download one from Microsoft right now for free as well.

    http://cboard.cprogramming.com/showthread.php?t=56549

    gg

  14. #14
    Registered User moi's Avatar
    Join Date
    Jul 2002
    Posts
    946
    I debate your "greatest" assertion with these two facts:
    1. total absence of C99 support
    2. small number of machine targets, all of which are MS Windows targets
    gcc by contrast has some C99 support and a large number of targets, including Windows ones as well other OS platforms (mostly *nix of course)
    hello, internet!

  15. #15
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    Posts
    4,981
    Well, my intention was "Microsoft's latest and greatest", but it may not read that way, sorry.

    Saying Microsoft's compilers are for Microsoft OS's is stating the obvious[edit]perhaps not to everyone, sorry again[/edit]. And there's no C99 support because very few people in the Microsoft development community care about it.

    The VC++ maintainers discuss C99 a little in this article: The future of the VC++ language and ANSI/ISO standards compliance

    ISO C++ conformance is discussed in this article: Conformance to ISO Standards for C++

    gg
    Last edited by Codeplug; 09-16-2004 at 09:47 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Trouble with MSVC, Mingw32 and Code::Blocks
    By Brafil in forum C Programming
    Replies: 11
    Last Post: 10-12-2009, 11:34 AM
  2. MSVC resource script in Dev-C++
    By josh_d in forum Windows Programming
    Replies: 0
    Last Post: 03-17-2004, 04:07 PM
  3. MSVC behaves strange
    By ripper079 in forum C++ Programming
    Replies: 4
    Last Post: 10-28-2003, 08:34 PM
  4. Blender3D, XML, and MSVC ???
    By Grumpy_Old_Man in forum Game Programming
    Replies: 0
    Last Post: 08-24-2003, 07:00 PM
  5. GCC (cygwin) much faster than MSVC, Borland?
    By Sargnagel in forum C Programming
    Replies: 15
    Last Post: 08-05-2003, 03:15 AM