Thread: Visual C++ 10

  1. #1
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654

    Visual C++ 10

    I thought I would inform those who are not aware. Microsoft has released a CTP of Visual Studio 10, among which contains Visual C++ 10.
    What is so special about this, is that it is one of the first that contains a working implementation of some of the C++0x features. Namely they are lambda expressions, rvalue references, static_assert and the auto keyword. And more are coming.
    It also contains some parallel implementations of some STL functions, such as for_each. The parallel implementations are designed for multi-core systems.
    They have also improved MFC to support new APIs in Vista & Win7 (as well as the modern interface).

    Another new thing for Visual Studio 10, or as I have heard is that they have improved debugging speed, among other things.
    All in all, it is gearing up to be one very nice release!

    The CTP is available for public download at http://www.microsoft.com/downloads/d...ng=en#filelist
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  2. #2
    and the hat of sweating
    Join Date
    Aug 2007
    Location
    Toronto, ON
    Posts
    3,545
    When I read that, I was thinking "What happened to VC++ 9?"
    Then when I clicked on the link I saw it was VC++ 2010, not version 10.
    "I am probably the laziest programmer on the planet, a fact with which anyone who has ever seen my code will agree." - esbo, 11/15/2008

    "the internet is a scary place to be thats why i dont use it much." - billet, 03/17/2010

  3. #3
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    2002 was 7.0, 2003 7.1, 2005 8.0, 2008 9.0, and with 2010 they finally caught up - it's indeed 10.0
    This is not just something I invented. That's their actual internal versioning scheme. There are many places where it occurs.

    Static assertions are simple and useful - a very obvious first choice to implement.
    Rvalue references are less simple, but they're so extremely useful that they're a must-have; also, they're the most widely implemented C++0x feature, with at least 3 compilers already supporting them that I know of (CodeWarrior, GCC and Comeau). With VC++ also supporting them, they're a feature that can be relied on. You will actually be able to use it in real-world code pretty soon, which is very important.
    The auto keyword is also useful and not too hard. Another good choice.
    The lambdas surprise me. I had assumed that they were tricky to implement. Thinking about it, they're not - they're pretty much syntactic sugar with a well-defined transformation to existing code. So I probably shouldn't be surprised.

    GCC apparently found variadic templates easy to implement. We might see them before the final release of VC++ 2010. This would be great, since they work so well with rvalue references to bring perfect forwarding.


    A peculiarity discovered by some Boost people is that there is apparently no way to switch the new features - particularly the changed meaning of the auto keyword - off.
    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

  4. #4
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    But then again, who uses the "auto" keyword nowadays (in the older standards)?
    So it should not break any legacy code.
    Also found out that the CTP is packaged inside a virtual machine (of course... Microsooooooooooooooooooft!), which is why it is so big.
    Which kindof defeats the entire purpose of downloading, IMHO. I wonder when they'll release the beta...
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #5
    and the hat of sweating
    Join Date
    Aug 2007
    Location
    Toronto, ON
    Posts
    3,545
    Quote Originally Posted by CornedBee View Post
    2002 was 7.0, 2003 7.1, 2005 8.0, 2008 9.0, and with 2010 they finally caught up - it's indeed 10.0
    Oh yeah, for some reason I thought we were currently at 8.0. It's Friday, so what do you expect.
    "I am probably the laziest programmer on the planet, a fact with which anyone who has ever seen my code will agree." - esbo, 11/15/2008

    "the internet is a scary place to be thats why i dont use it much." - billet, 03/17/2010

  6. #6
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    In a virtual machine? why? Thinking about porting it to Linux?

  7. #7
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    A virtual machine has many advantages for MS. Most importantly, they know the exact setup in which the program runs, which helps greatly in debugging. There is no interference from 3rd party programs with their hook DLLs, synthesized window messages, and other stupid things programs do that mess with the stability of others.

    Sure, in the beta phase they'll have to consider those, too. But in this early phase, removing those things from the equation makes it much easier.
    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

  8. #8
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Ah I see.

    I was thinking along the lines of JVM kind of virtual machine... .

  9. #9
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    ...And making it impossible to use. It took at least 20 minutes to get into the desktop after running the VM. Who says what that will do to Visual Studio when running inside the machine?
    I gave up and deleted the crap. No more VMs for me.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  10. #10
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    wow.

    I use virtual machines very often to test my programs under Windows (I develop on Linux), and they run about as fast as they do natively. The VM boots about as fast as a native Windows boot, too.

    What kind of computer do you have? My Core 2 Duo at 3.3ghz + 4GB RAM works fine .

  11. #11
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Athlon 64 X2 3800+ (2 GHz) + 3 GB RAM.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Array help
    By Oklaskull in forum C Programming
    Replies: 19
    Last Post: 03-11-2008, 04:15 PM
  2. Templates and Macros plus more...
    By Monkeymagic in forum C++ Programming
    Replies: 8
    Last Post: 01-20-2007, 05:53 PM
  3. ras.h errors
    By Trent_Easton in forum Windows Programming
    Replies: 8
    Last Post: 07-15-2005, 10:52 PM
  4. linked list problem
    By kzar in forum C Programming
    Replies: 8
    Last Post: 02-05-2005, 04:16 PM
  5. Erros in Utility Header File
    By silk.odyssey in forum C++ Programming
    Replies: 4
    Last Post: 12-22-2003, 06:17 AM