C++ enhancements in VS 2010
As part of my series of blog posts talking about VS 2010 and .NET FX 4, I want to focus on the work we are doing for the native developer as part of Visual C++.
In an earlier post, I mentioned how the Visual C++ team is investing heavily in enabling developers with large native applications to be successful on the Windows platform. As a part of that, we released the Visual C++ 2008 Feature Pack earlier this year. Visual Studio 2010 continues down this path by focusing on making native C++ developers more productive with significant enhancements to the overall IDE experience as well as improvements in the language and library space that further extend the power available to C++ developers.
Native C++ applications have been growing larger and more complex over the years. VS2010 makes C++ developers more productive by scaling better when working with larger codebases. One of the key areas where we are making significant improvements is IntelliSense. The IntelliSense engine, which powers the majority of the IDE features, received a major architectural overhaul with a sharp focus on eliminating inefficiencies that surface when dealing with large codebases. A prime example of this is that the IDE remains responsive even while editing source files in very large codebases. Source edits no longer trigger massive updates of the symbol database even with the most complex source dependencies. Visual C++ developers who often edit header files deep down in the include hierarchy or switch project configurations will notice the huge improvement in IDE responsiveness.
Another area where Visual C++ is scaling up is the build system. In VS2010, MSBuild will be the build system powering Visual C++ compilations. MSBuild provides significant customizability, extensibility and logging which are essential elements for large-scale and complex build environments. MSBuild’s logging features will make the expensive chore of tracking a project that keeps rebuilding a much simpler task. Also, the extensibility features will allow you to target different versions of the compiler from the VS2010 IDE as you can see in the images below.
The increased complexity of C++ applications place higher demand for tools and productivity. VS2010 comes with a new set of IDE productivity tools that make it easier to gain insight about complex codebases. IntelliSense and browsing functions have been overhauled not only to scale up but also to provide more accuracy and resilience. The new header dependency tool allows you to find out more details about your complex include hierarchy. The new Quick Search feature will make it a breeze to go to a specific symbol or file by simply typing a part of its name and pressing enter.
On the library and language front, one of the key focus areas for VS2010 is concurrency. VS2010 makes C++ developers more productive writing parallel code by introducing a new set of libraries and supporting new C++ language features. VS2010 introduces the Parallel Patterns Library (PPL) which provides a new abstraction for building responsive C++ applications that take full advantage of multi-core hardware. PPL enables an effective way of expressing parallelism and provides new asynchronous messaging APIs that allow you to increase application resilience and robustness. VS2010 comes with support for new language features from the upcoming C++0x standard, such as lambdas and the repurposed ‘auto’ keyword, which make writing code that uses the PPL cleaner and more maintainable. Finally, VS2010 delivers more support for developing great Windows applications using MFC by adding yet another set of great features to MFC that make it easier than ever to leverage the features in Windows Vista and in the upcoming Windows 7 release. With built-in support for restart manager, MFC applications can trivially add the ability to recover unsaved applications through unexpected application failures. Task dialog support allows MFC applications to develop richer user interfaces to replace wordy message boxes.
Over the years, we have heard a lot of C++ developers refer to the old days of Visual C++ 6.0 as the glory days of Visual C++ tools. Many of the comments reminisce about the snappy and productive IDE. With Visual C++ 2010, we strive to create a new benchmark for Visual C++ IDE productivity. We will couple this IDE with our superior support for the C++ language and significant improvements to the libraries.
You can always find more information about Visual C++ and interact directly with the team through their blog.
Namaste!
Comments
Anonymous
November 21, 2008
PingBack from http://blog.a-foton.ru/index.php/2008/11/21/c-enhancements-in-vs-2010/Anonymous
November 21, 2008
Recently, Soma, Vice President for the Microsoft Developer Division, blogged about the enhancements ofAnonymous
November 21, 2008
Somasegar's WebLog : C++ enhancements in...Anonymous
November 21, 2008
Will the /MP option be working? I don't have as much experience with it in VS 2008, but I do know that in VS 2005 it often results in corrupt PDB files. Too bad--everyone has multi-core machines now, and it speeds up builds a lot when it works.Anonymous
November 21, 2008
We write cross-platform C++. So we want to have C++Ox concurrency, not a parallel library tied to Microsoft.Anonymous
November 21, 2008
@JSM: Will the /MP option be working? In VC2005, /MP was undocumented for the precise reason you mentioned. In VC2008, the compiler team did additional work on it, added it to the list of documented switches for CL and encouraged developers to use it. In VC2010, we are exposing this switch in the Property Pages as well and also allow you to control the number of cores you want /MP to use centrally from Tools/Options.Anonymous
November 22, 2008
The comment has been removedAnonymous
November 23, 2008
great news .... but way way way late. alAnonymous
November 23, 2008
The comment has been removedAnonymous
November 23, 2008
The comment has been removedAnonymous
November 23, 2008
All this for little old me? ;) PS: Wow... lots of hate here. Don't worry Soma, some developers still like DevDiv! I'm surprised you're planning to have C++ lambdas already, IIRC G++ doesn't even have that working in their dev branch yet. Actually, this is pretty much every (major) problem I have with VC++ at the moment looking like it will be resolved, so thanks!Anonymous
November 23, 2008
C++ has stagnated as a language for quite some time and Microsoft treats it as a second class language. Visual Studio has been out for 5 or 6 years, each new release is worse then the prior. Do us all a favor go back to what worked and put the nail in Visual Studio/.NET'S coffin once and for all!Anonymous
November 23, 2008
Wow, wow wait a minute. Is it really so bad?? I'm developing in Delphi/Pascal for more than 20 years. Recently we had to do some projects for Mobile, so I had to move to C++ (VS 2005) "native". That is why I think my opinion will be without prejudice (except that I still prefer Delphi). As a beginner in C/VC a have to say - it was very easy to start - everything was kind of familiar. It is true that VS puts a lot of efforts in .Net, and this is true for all languages (in Delphi I still use v7, because all higher are .Net oriented). But you have enough tools to write/compile in C/C++. I would suggest: learn from the good things from the rivals. Borland made a turn in Delhi 2007 toward "native" programing. You can do the same in VS2010. P.S. I like VS2005. I don't know what was VS6, but I'm sure there is enough tools for C/C++ development.Anonymous
November 23, 2008
If some one has NOT used Visual C+1.5/4/6.0 , he/ she DOES NOT know the beauty of Visual C++ . Visual C++ classwizard is one of the coolest tools I have ever used . I am using Visual 2005/ Visual 2008, and its all focussed towards .NET ; recently I posted to MS Connect regarding the CWnd virtual functions related bug, and MS commented that they are trying hard to fix it. Echoing on a blogger comments "Some Microsoft office guys have been hired for Visual Studio IDE". With Jeff Prosise and Mike Blaszczak out , shall Visual C++ regain it old glory. Microsoft ... please respect Visual C++ as a separate entity by itself. No .NET stuff can ever fill the void , what Visual C++ can do to Windows Programming.Anonymous
November 23, 2008
The comment has been removedAnonymous
November 23, 2008
Well, quite a lot of hate mail there. I recently compared Visual Studio 2005 with XCode / Gnu C++ on the Mac. Visual Studio made XCode look like something out of the stone age. I also think that having all the MS technologies available in the one IDE is useful, although I agree that pollution of the namespace in the help system can be a nuisance. Methinks we take too much for granted these days (but I would like to see the page faults fixed in GDI+ !). And, while I remember, who on earth took out the AND operator in the full text search in VS 2005? Madness! Not sure if it is reinstated in VS 2008 - I don't use it because compiler error messages are not displayed in edit 'n continue mode (!!)Anonymous
November 23, 2008
Something I would like to see is smarter context sensitive help connected to your project options. If for an example I have created a Win32 project and I have selected to not use MFC or ATL then I don't want to see non-VC++ languages, CE, .NET, MFC or ATL related stuff popping up in the help system. It is very irritating to wade through stuff you don't use. So, instead of fine tuning the help system itself by adding filters (which is not very flexiable anyway) there should be a help system which is configured logically by the project settings.Anonymous
November 23, 2008
#1 Wish for VS 2010: Improve troubleshooting options. Right now, if I encounter a bug in VS (and of course it has bugs, like any other software), I have to spend a couple of days to narrow it down, then open a connect issue, and in at least 50% of the cases I get a "could not reproduce" answer. This could be so much easier if VS had features like optional logging, which could help you narrow down a bug even if you can't reproduce it.Anonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
Heard at a Microsoft conference from a Microsoft employee. Rosario ( Visual Studio 2010, Architect edition ) shall be focussing on DSL - the new modelling tool, in the extensibilty package . Many MSDN blogs echo the same comment. Som , as a VP , please do the needful to bring the long lost shine of Visual C++ . Nowadays, .NET junkies are only stuck with properties / methods , and dont know what Windows messages gets processed when the particular properties are changed.Anonymous
November 24, 2008
I'd be interested to know what kinds of apps people are writing if they are doing it in C++. There seem to be a lot of people on here complaining about what a pain it is. Unless you are doing something low-level, I don't see what the point of doing it in native code is. If you want stable code, use .NET. I remember the old days too. The days of buggy MFC code and access violations. Personally, I would like it if Microsoft implemented more of the OS in .NET, perhaps starting with IE. Then maybe they wouldn't have to release a Windows Update every other day to patch a buffer overflow vulnerability.Anonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
Don't you get it, that is exactly what Microsoft wants everyone in C# and VB.net so the development tools are tied 100% to the windows OS via the .BLOAT framework. They killed VB and FoxPro next on the hit list is C++. Microsoft is making the only purpose of C++ interoperability with legacy code. Is there really even any database support left in C++? Not to say Visual Studio database support in c# or vb.net is anything to write home about especially compared to FoxPro but at least it is something. What type of applications do you write as I'm not sure how you even can put stable and .NET/bloat in the same sentence. MarkAnonymous
November 24, 2008
Will the /MP switch also work in conjunction with the /Gm switch, so that larger projects better profit from multi-core-compiling support (which is currenlty only possible through 3rd party addons like MPCL: http://www.todobits.es/mpcl.html)?Anonymous
November 24, 2008
"If you want stable code, use .NET" You made my day, jemiller. Thanks.Anonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
I was surprised to learn that I'm not the only one still using VS6 for C++ development. How hard will it be to port my VS6 projects over to this wonderful environment?Anonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
@jeMiller Your comments are incorrect. I know all of Microsoft's Products Inside And Out including .NET. Perhaps you need to do your research before posting a comment. Early versions of foxpro, pre Microsoft, were completely cross platform including a version for the mac. Several years ago Whil Hentzen (last name is probably spelled incorrectly) took the VFP libraries and had them running cross platform Microsoft quickly stepped in and claimed due to licensing violations forced us to quit using the libraries. The core dbf files are still "for the most part" platform independent. Likewise Basic and early version of VB also could be ran cross platform. That came to a halt as well. C++ applications if written correctly can also be written to be fully cross platform. Once you begin including the .BLOAT framework then the C++ applications become tied to the OS. Given the cross platform nature of VB and FoxPro coupled with the Royalty free distribution Microsoft killed the products. I predict C++ will face a similar demise at some point unless Microsoft can halt the cross platform nature of the language. The sad part is Visual studio is still playing catch up trying to get Visual Studio on Par with the older 6.0 technology base. Even common issues like using regular expressions in C++ has performance issues. If you have used FoxPro and compared it's data access to Visual Studio you will soon realize just had tototally backwards and inefficent Microsoft's Visual Studio data technologies are including LINQ. The VS class browser and true n-teir development also pale in comparison to the capabilities we had in the 6.0 era. Visual Studio is a huge step backwards! @Alan8 Moving a C++ 6.0 application to Visual Studio is a complete pain there is no easy way to do it. The same can be said for VB 6.0 and VFP 6+ applications. Microsoft in their mission for Visual Studio dominace kicked all the old applications to the curb just about forcing a rewrite. MarkAnonymous
November 24, 2008
@jemiller I was just reading through the rest of the comments and boy was I right on the mark as usual. @tarek From Microsoft said C++ will remain as the best way to write native code and a good way for interop between both worlds. Perhaps he read my comments! It is clear that is the direction Microsoft is taking C++ they have zero intention of making C++ a mainstream language as it once was for business application development! Have a great evening all MarkAnonymous
November 24, 2008
The comment has been removedAnonymous
November 24, 2008
I've been using vs2005 since it came out, and later moved to vs2008. I've noticed upgrades in IntelliSense, and that's about all I could ask for as a C++ OpenGL app developer. It's pretty much down to how good are third party libraries or your own, that affects my productivity. vs2008 already does everything without mistakes for me. Thanks C++ and vs team.Anonymous
November 24, 2008
@jemiller: Don't blame C++/MFC for your lack of skills! @Tarek Madkour: Since how many years are you guys telling us that you are looking at a new application framework? It's getting boring to hear the same stories for every VS release again and again. Do you guys remember the Slow Chat: Visual C++: Yesterday, Today, and Tomorrow (http://www.codeguru.com/forum/forumdisplay.php?f=89) ? Nothing of that list has been fixed since then. Probably not the right place to report it here but I found a bug in the VS2010 CTP, if you have the Output pane tabbed and compile your project the Output tab becomes active, if you then press Ctrl+Tab once the Output tab stays active, you have to press Tab twice to get back to your previous tab.Anonymous
November 25, 2008
The comment has been removedAnonymous
November 25, 2008
@Andre: I don't have a lack of skills. I have enough intelligence that I know I can do what I need to using .NET and get the job done 10x faster. That is the whole point of .NET. If you want to do things they way they were done in 60s that's up to you. @Mark: You are wasting your time if you think you are going to convince Microsoft to put more resources into Visual FoxPro. For all practical purposes it's dead. It might have it's merits, but, it doesn't matter. It's basically just a legacy language at this point. .NET is where Microsoft is putting it's resources. I used to program in VFP including on the Mac. I will admit that ADO.NET isn't what it should be and LINQ to SQL and LINQ to Entities isn't there yet either. Hopefully .NET FX 4 will include the new version of LINQ to Entities that lets you generate a database from a model. Maybe Microsoft can add something to Visual Studio that will prevent all the sloppy C++ programmers out there from putting buffer overflow vulnerabilities in there code. Then, Microsoft can use it on their own code and I won't have to download 50 Windows Updates every month. COM needs to be put to rest also.Anonymous
November 25, 2008
I've been using Visual Studio headers, compilers, libraries and linker, and the IDE as a debugger, since VC2. Because we write our code in a special-purpose language that generates C code, we don't use the IDE for coding, and because we're cross-platform, we don't get entangled with COM, Windows GUI, or most of the things that use up so many programmer's lives. VC6 was a sweet spot, in that everything worked fairly well. Since then, VC7 was a disaster, since the C/C++ compiler was broken in the cause of supporting .NET, while VC71 was better, but the compiler was still a bit dodgy and the debugger was shaky. VC8 and VC9 aren't much different from my point of view. In both of them, the compiler is fine, and the debugger is acceptable, although the user interface gets more complicated every version. We provide a .NET binding for the Windows version of our product, and VC8 was the first version of .NET where that was possible. it works fine with VC9, too. There seem to be social forces inside MS that naturally cause the user interfaces to get more complicated. I don't know what they are - it could be lots of people each wanting to get "their bit in", for example - but they definitely seem to be present. Trying to find a way to avoid that, perhaps finding a different way for the developers to feel they've made their mark, would be very much worthwhile. For VC10, what I'm most interested in is standards conformance and the performance of optimised code. PGO isn't viable for us, because the product is too large: a PGO link takes so long that the developer looses his train of thought. The "only PGO when you're ready to release" approach doesn't really work with Agile development. So the basic optimiser - and not introducing bugs into it - remains very mportant.Anonymous
November 25, 2008
The comment has been removedAnonymous
November 25, 2008
The comment has been removedAnonymous
November 25, 2008
Hello Thanks for all the great feedback and wonderful suggestions! > Re: Monday, November 24, 2008 2:09 PM by Stefan Hett > Will the /MP switch also work in conjunction with the /Gm switch, so that larger projects better profit from multi-core-compiling support Unfortunately the answer is no, not for Dev10. Thanks DamienAnonymous
November 26, 2008
The comment has been removedAnonymous
November 26, 2008
@z > Why not to add C99 support fr all people who do cross platform development. The simple reason is that we haven't seen that much demand as compared to the massive requests we receive for TR1, C++0x, etc. I don't foresee us implementing C99 in its entirety, but we will take a close look at requests for specific C99 features (especially ones that integrate well with C++.) Apart from <stdint.h> and %zd, are there other C99 features you'd really like to have?Anonymous
November 26, 2008
@Arjun What I would really like to have... stdint.h (mentioned already), inttypes.h, func preprocessor constant, C99 style structure/ union initialization a la union { char birthday[9]; int age; float weight; } people = { .age = 14 }; conformant modifiers for printf - ( %zd and %zx) and strftime (%T and friends). Ability to declare variable in the middle of the block would be really nice. That's it..Anonymous
November 26, 2008
The comment has been removedAnonymous
November 26, 2008
> I'm surprised you're planning to have C++ lambdas already, IIRC G++ doesn't even have that working in their dev branch yet. Intel currently implemented lambdas in their C++ compiler v11. It is obvious that they are investing a lot in C++ and soon they will implement other adopted C++0x features. I advise you to stick to Intel for C++. Their C++ compiler is really good and fast in both compiling and compiled code. They also have some really good tools and libraries like Threading, Parallel, XML, Math Kernel and IPP(Integrated Performance Primitives) that contains a full set of stuffs about signal, image and video processing and a lot more. And also it integrate fully in to the visual studio. 5 days ago I installed a trial version of Intel C++ compiler suite that contains the C++ compiler, IPP, Math Kernel and TBB. I tried to recompile some of my MFC, ATL, QT and pure C++ project with it and it worked perfectly. Give it a try.Anonymous
November 26, 2008
Dear Mark Gordon and jemiller. This topic is related to C++ and Visual C++ not VFP or .NetAnonymous
November 26, 2008
Publicación del inglés original : Viernes, 21 de noviembre 8:36 AM PST por Somasegar Como parte de laAnonymous
November 27, 2008
Parece que Microsoft no se olvida de los programadores de C++ y VS 2010 también ofrecerá mejoras en esteAnonymous
November 27, 2008
Parece que Microsoft no se olvida de los programadores de C++ y VS 2010 también ofrecerá mejoras en esteAnonymous
November 27, 2008
The comment has been removedAnonymous
November 27, 2008
>The days of buggy MFC code and access violations >In my experience, .NET is much more stable than C++, at least with regard to MFC and Microsoft's implementation of STL If you guys have good programming habits/style and some experience large C++/MFC apps works seamlessly. I like vs2008 and the new MFC. Thanks to the C++/MFC team.Anonymous
November 27, 2008
I don't know about version 11 but following C99 features are supported in 10.1 version of the Intel C++ Compiler: restricted pointers (restrict keyword). variable-length Arrays flexible array members complex number support (_Complex keyword) hexadecimal floating-point constants compound literals designated initializers mixed declarations and code macros with a variable number of arguments inline functions (inline keyword) boolean type (_Bool keyword) These features are not supported: long double (128-bit representations)Anonymous
November 28, 2008
Re: Monday, November 24, 2008 5:31 PM by jemiller >I used run into access violation bugs and other malfunctions in MFC all the time when I used to code in C++. It's obvious that you don't have enough experience in C++. During the last year our team developed 8 application all in C++ and MFC 8.0 and 9.0 and we didn't encountered even one access violation or any other malfunction during the development process and the applications are working well like the other ones that we have developed till now and that's because we know what are we doing.Anonymous
November 28, 2008
Intel C++ compiler version 11.0 supports following C++0x features. Empty macro arguments Variadic macros Type long long Trailing comma in enum definition Concatenation of mixed-width string literals Extended friend declarations Use of ">>" to close two template argument lists Relaxed rules for use of "typename" Relaxed rules for disambiguation using the "template" keyword Copy constructor does not need to be callable on direct reference Binding to class rvalue "extern template" to suppress instantiation of an entity "auto" type specifier decltype operator static_assert compliant func lambda expressions Hope to see more soonAnonymous
November 28, 2008
>Well, gcc still isn't fully C99-compliant either. In fact, is >there any compiler that is? If anything, it seems to be a >good indication that few people actually care about C99(aside from the stuff that got into TR1). If anything , this indicates that few people actually care about full compliance. There might be people around in the world who need very long doubles or complex datatype in C, I never met them. In my 12 years carreer doing C and C++ only I never met anyone who needs TR1 or C++0x. Its nice, its hype, its time has yet to come. In fact on all projects I ever worked on (and this includes quite large and pretty successfull ones) C is still the main language, C++ is used in small amounts, without advances features, GCC is one of the main compilers, other *nix compiler are catching up in terms of C99 compatibility while MSVC pretends it does not exist and causes compatibility problems, so people coming from *nix background start to hate it. I lost count how many times I typedefed int to int32_t, or wrote the same C99 compliant printf clone or used #ifdef _MSC_VER #define func FUNC #endifAnonymous
November 28, 2008
The comment has been removedAnonymous
November 30, 2008
Hi, I've used VC++ 5, 6, evc4, 2005 and recently 2008. I was very happy with 2005 and I haven't spent enough time in 2008 to notice a difference. One thing I do miss though, is the simple profiler that was in VC6. Can we please have it back in VC2010 professional? Cheers, DaveAnonymous
December 01, 2008
The comment has been removedAnonymous
December 01, 2008
Fix the intellisense bugs firstAnonymous
December 01, 2008
@v: I've taken your C99 requests and added them to our compiler wish list. We're not going to get to them in time for VS 2010, but we'll consider them with the compiler work for our next release. Thanks for your interest!Anonymous
December 01, 2008
The comment has been removedAnonymous
December 01, 2008
From a recent MS Ireland newsletter; "Visual Studio 2010 . . • Harnessing the power of C++ (All the features of Visual C++ 6.0, Windows 7 support…): Do I have to give up my favorite C++ tool? What if I have a lot of code? What about the new look and feel options? What about performance and debugging?" Will this include getting ClassWizard and a decent RC editor back into the IDE? If not, what is MS referring to here exactly?Anonymous
December 02, 2008
I would just like to make a comment about this "use the right language for the job" mentality that makes the analogy between a programming language and a "tool". A programming language is not like a "tool" (e.g. a "hammer".) It's more like a workshop or toolchest. As such, it is combersom to have to switch between them while working on a single job. This ends up just making the developer unable to expertly craft anything because the "tools" are always changing.Anonymous
December 02, 2008
Shane: VS2005 has the same DDX functionality, it's just that there is no longer a dedicated class wizard dialog. It's now integrated in the resource editor. Just right click on a control and select "Add Variable..." or "Add Class..." to get the same functionality.Anonymous
December 02, 2008
VS is a huge hairball clogging the development process -- MS aint fixing nor following the C++ standards they think they are the standards commitee -- thanks for the "deprecated" issue breaking VALID code -- Lovely -- VS6 is not perfect only lesser of the two evils!Anonymous
December 02, 2008
@Shane MacLaughlin: > Will this include getting ClassWizard and a decent RC editor back into the IDE? We are considering adding the Class Wizard back to VS10. We hope this will make DDX/DDV function creation more keyboard-centric just like it was in VC6. There are some schedule challenges that we will need to overcome to get the feature done, but I am optimistic that you will see it when we ship VS10.Anonymous
December 02, 2008
@Tarek Madkour Excellent news and thanks for the feedback. I await the release of VS 2010 with baited breath.Anonymous
December 03, 2008
How about adding support for debugging on Vista x64? I've been trying to make do without serious debugging ever since "upgrading" my OS. This may be related to the general instability with autoexp.dat. Replacing that mess with something stable and documented would also be very welcome.Anonymous
December 03, 2008
Visual Studio 2010 CTP の C++ に関する英語フォーラムを見ていたら、" MFC improvements in VC 2010 ?? " というスレッドに MFC の行く末を案ずる投稿がされているのを見つけました。Anonymous
December 04, 2008
The comment has been removedAnonymous
December 04, 2008
VC6's STL and template support was pretty poor, so the compiler has improved vastly since then. But every new version has been a step backword for the IDE. The properties dialog used to be a well organized series of tabs containing check boxes, choices, etc., grouped logically. Now it's a single table of words in alphabetical order! Try navigating that with a keyboard. Try quickly telling if a feature is on. A checkbox is much easier for my eyes to scan that the two english words True or False. Class Wizard was awesome. The new class dialogs and class view feel like they were written by a summer intern. So the best solution would be take the old VC6 IDE and update it to work with VC10 compilers.Anonymous
December 05, 2008
Doaquicksummaryoftheofficialblogginghere:http://blogs.msdn.com/somasegar/archive/2008/11/21/...Anonymous
December 05, 2008
DITTO @C++ Guy I couldn't agree with you more, especially about the class browser and dialogs. Even VFP'S version 3.0 class browser is more efficent then anything seen in any release of Visual Studio pathetic !Anonymous
December 08, 2008
You speak about making developers in legacy codebases more productive. If the team is really serious about this, then please (please, please, please, please) add some basic refactoring support for C and C++. Eclipse 3.4 has these features, which work in many cases, and 3.5 is getting even better. Beyond the basic rename (variable, parameter, method, class, etc), extract function/method (with auto-determination of parameters) would be the next most useful thing. I am really looking forward to a smaller memory footprint, as well.Anonymous
December 09, 2008
The comment has been removedAnonymous
December 10, 2008
The comment has been removedAnonymous
December 10, 2008
@Thomas Remkus, the other big plus with any good IDE is the seamless integration of editing with debugging. With MS C++ from VC6 onwards, this includes Edit & Continue which in my context is a huge boost to productivity. I haven't used it, but I believe the newer MS IDEs include step backward debugging, which coupled with Edit & continue is a further big step forward.Anonymous
December 12, 2008
@Thomas In case you missed it in a prior post, Microsoft is planning on redoing the UI for the IDE using WPF. Talking about going from bad to worse and wasting resources! They don't seem to listen to anyone!Anonymous
December 15, 2008
"VS2010 introduces the Parallel Patterns Library (PPL) which provides a new abstraction for building responsive C++ applications that take full advantage of multi-core hardware. " Sounds great, but what about OpenMP? Will it be developed in VS2010, or will be replaced by the PPL? Or, maybe they are just complementary technologies? Our team is about to parallelize some parts of our application, and OpenMP seems the great tool to do this (considering the nature of problems we working on), but I afraid of being stuck with abandoned technology...Anonymous
December 16, 2008
Hello again! My name is Li Shao. I am a Software Design Engineer in Test in the Visual C++ group. AsAnonymous
December 17, 2008
The comment has been removedAnonymous
December 17, 2008
Will VC10 support OpenMP C/C++ version 3.0 API specification? Intel C++ compiler v11.0 and GCC 4.4 both support OpenMP 3.0.Anonymous
December 18, 2008
@somasegar, thank you for the reply. Although OpenMP seems enough for me by now, I will definitely take a look at PPL. In any way, it's good to hear that OpenMP will not be discontinued.Anonymous
December 19, 2008
We currently don't have plans to support the OpenMP 3.0 specification in the forthcoming product. >Will VC10 support OpenMP C/C++ version 3.0 API specification? Intel C++ compiler v11.0 and GCC 4.4 both support OpenMP 3.0.Anonymous
December 19, 2008
R.J, VC10 will not include any major updates with respect to OpenMP. If you wish to discuss that more or connect with the appropriate folks for OpenMP, please feel free to email me at aymans at microsoft dot com Thanks, Ayman Shoukry Visual C++ TeamAnonymous
December 23, 2008
Here is some features I wish to see in VC++. 1- Full conformance to C and C++ standards. I like to see C++0x full conformant compiler and libraries as soon as possible. 2- Improve documentation. 3- Improve IntelliSense. I know your working on it. 4- Native unit testing framework with IDE integration. 5- Code refactoring and coloring in VC. 6- A good and extensible grid control for MFC like the ones in BCG and CodeJock libraries. 7- A native reporting system like crystal reports or Microsoft Report for .Net is really missing. 9- Automatic layout management for MFC dialogs and forms. 10- I like to CTaskDialog MFC class being supported on pre-Vista operating systems. 11- A native XML library so that VC users have an standard way to parse and manipulate XML. 12- A native ((EXTENSIBLE)) XML based GUI library and designer in VC that enhances MFC so that I can separate designing GUI from other parts of development. 13- D2D and D3D support in MFC. 14- PDF backend for printing and painting system. 14- Implement and use Signals and Slots mechanism in VC++ (as a way to communication between objects). 15- OpenMP 3.0 Specification. I believe tasking in OpenMP 3.0 is really useful. Thanks,Anonymous
December 29, 2008
MSBuildExtensionPack MSBuild 一直都是 .Net 下 Build 工具的不二选择,可怜开源社区的 NAnt 几乎已经被彻底遗忘。而 MSBuild 则在蓬勃的Anonymous
December 31, 2008
The comment has been removedAnonymous
January 11, 2009
What about Two-phase name lookup, Exception specifications and export. All are parts of the standard.Anonymous
January 12, 2009
I would like to echo the request made by user "v" at November 26, 2008 4:14 PM, for the addition of the <stdint.h> and <inttypes.h> header fies (along with their C++-specific counterparts, <cstdint> and <cinttypes>) and the __func__constant (which I believe that you are putting into VC10). Specifically, the addition of <stdint.h>, <inttypes.h>, <cstdint>, and <cinttypes> ought to be extremely easy. In C99, when one concatenates a string literal with a wide-character-string literal, the result is a wide-character-string literal. This feature is a necessity for proper use of the printf-formatting macros in <stdint.h>, and consequently must be added when support for <stdint.h>, <inttypes.h>, <cstdint>, and <cinttypes> is added. If you're serious about moving to the C++0x standard, then you're probably adding this feature anyway. Please ensure that you do. Finally, the Microsoft-specific "min" and "max" macros should be disabled by default and deprecated (or removed altogether).Anonymous
January 19, 2009
The comment has been removedAnonymous
January 20, 2009
I use VC++ 6.0 on a daily basis. While it was a truly landmark program relative to it's time, I think people are remembering it a little to fondly. Some of my C++ (and C#) work is in VS 2005. There are differences and a few quirks that drive me mad (especially how some of the dialogs look like they were thrown together by a third grader and the code the class wizard creates isn't formatted correctly) yet I am measurably more productive in VS 2005 and VC++ 6.0--in some cases, I am so used to the way VS 2005 does it, the VC++ 6.0 method now seems "wrong." Having said that, VC++ 6.0 is still a lean, snappy program. Can't say that about VS 2005. It also produces faster code. Optimization has improved with Visual Studio 2008, especially if I turn off a few things, but I have plenty of VC++ 6.0 compiled code that's still faster. A huge annoyance is that linked executables are bigger, sometimes much bigger, in VS 2005/2008 than VC++ 6.0 for no apparent reason. Unfortunately the 2010 CTP offered no improvements in this regard. I should add that I tried VS 2010 CTP and was extremely disappointed. During the beta program for VS 2005, the C++ stuff was several months behind; I figure the same thing is happening here. To mollify us, could you do another CTP? Or a beta or anything? (Oh, and when we report bugs, actually fix them instead of telling us to get lost. That is especially aggravating for bugs that would take 2 seconds to fix.)Anonymous
January 21, 2009
Hi Joe, We agree with the overall sentiment. VC6 was a great product and it enabled a great development experience 10 years ago. In fact, as you point out, given its speed and its focus on pure C++ development, it continues to be a productive tool for many customers out there. That said, we've made improvements over the years both in terms of UI (which you point out) but also in the parts like the compiler and libraries. You called out that the size of binaries has grown significantly since VC6. This is true, but it is by no means without benefit. One of the causes for binary growth is growth in our libraries. We have added tremendous functionality since VC6, from the recent additions to MFC in VS2008 SP1 (which doubled the size of MFC) to adding TR1 to the standard libraries. In addition, we have improved the "debug-ability" of our code (hard to illustrate) since VC6 by adding a lot of information into our PDBs. If you have code that runs slower after optimized compilation in VS2008 compared to VC6, we would love to know about it (feel free to send me an email at borisj at microsoft dot com). In the current release, we're focusing on recreating that great productivity in the IDE that VC6 offered (and more). This release will scale to handle solutions containing millions of lines of code while providing new features aimed at improving your core coding experience. As you have guessed, the VS2010 CTP does not adequately illustrate all the improvements we've made to the IDE in this release. The next beta release will have all of these changes. We look forward to getting your feedback on it.Anonymous
February 12, 2009
Just read the VS2010 release notes at http://download.microsoft.com/download/C/0/9/C0965791-049B-4200-9008-F07A783026F6/VisualStudio2010_ProductOverview.pdf I'm delighted to see ClassWizard is making the anticipated come back, proving that MS do in fact listen to their users. Good job guys, take the rest of the day off and have a beer on me ;)Anonymous
February 13, 2009
[Nacsa Sándor, 2009. január 20. – február 12.] Komplett fejlesztő környezet Windows kliens és web alkalmazásokAnonymous
February 13, 2009
The comment has been removedAnonymous
February 27, 2009
The comment has been removedAnonymous
March 30, 2009
The comment has been removedAnonymous
April 18, 2009
I hope that you guys pay attention to code generation for latest Intel chips. The Intel compiler is leagues ahead of you and provides suitable options to optimize code for its platforms. You are going to be left behind if you don't pay attention in this area.Anonymous
April 21, 2009
First of all I want to say 'thank you' for keeping C++ environment alive and healthy, especially compiler. Main problem in C++/MFC development under VS is that it is NOT a RAD environment, especially that PITA GUI programming. This is huge drawback which gets even worse with Intellisense and almost zero code refactoring capabilities. Some people can say 'come on, dude, get decent third party tool/library and be happy'. But this also means spending another ton of $$$ just because built-in tools are out-of-competition. This is very bad =/ 'When a lot of developers talk about why one language is better than another, they are really comparing frameworks' - this is a very good thought. I would say that in case of VS developers they also compare IDE's. Differences in C# and C++ IDE's are so huge:
- great visual GUI programming
- visual form inheritance
- cool code completion and fast Intellisense
- .NET Framework (compared to MFC in usability) Don't you think that this sort of things is unfare to millions of C/C++ developers? I'm not saying 'update MFC so it can match .NET framework' because this is another story. Just please, try at least to keep such differences minimal. We all know that MS can make outstanding things like Windows 7, if it wants to... We trust in you, guys. Good luck! :) Sincerely yours, Victor.
Anonymous
April 22, 2009
Hello James Thanks for taking the time to send us your feedback. We do work very closely with chip manufactures/vendors to leverage their latest advancements. To this end we do have a number of improvements in VS2010 however none have made the interim public releases yet – I hope you are pleased when you see the final product and please let us know what you think, either here or on our team blog at: http://blogs.msdn.com/vcblog/. Thanks Damien Watkins Visual C++Anonymous
April 22, 2009
The comment has been removedAnonymous
April 22, 2009
Hello Damien. Thanks for your comment, especially about MFC's present and future. Yes, MFC is pretty old and incomplete solution, but in any way, there are alot of people still using it. So any help in its maintaining is highly appreciated :) General "wish list" for VS development is:
- Intellisense.
- MSDN help system (inaccurate results, especially often redirection into .NET section). Maybe needs some sort of 'per-solution profiles' (?) e.g. when I start to code C++ library then MSDN shows only VC++ help and if i use some .NET interop then I can add it in MSDN search profile.
- replace 'parallel project build' option with current /MP compiler switch. This would be much useful in utilizing CPU power and keeping track of currently build projects.
- decent code refactoring should be added. Look into Visual AssistX for C++ or similar ReShaper for C# features.
- up-to-date visual designer for MFC. Its a shame for MS to distribute current dinosaur with VS :) I doubt that MS would ever begin '.NET for native code' development but who knows :)
- keep improving VS plug-in system so developers could easily integrate and use third party tools/libraries/compilers like Qt/wxWidgets/MinGW etc. Highly responsive, lightweight, extensible and configurable by plug-ins IDE is the way to go. P.S. Don't try to outperform Intel in C++ compiler in code speed :) If someone needs really quick code - use Intel (it sells CPUs btw :) ) for release builds. MSCC suits everything else very well with alot of language features implemented and far more bugs fixed. Don't give up and one day MS will invest tons of $$$ in all good ideas you and your customers have for C++ development :) Best regards, Victor.
Anonymous
April 26, 2009
What about this old bug? http://code.logos.com/blog/2008/04/exception_0xc0020001_in_ccli_assembly.html https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=336844Anonymous
May 20, 2009
Though the Windows 7 RC SDK was released about 2 weeks before Visual Studio 2010 Beta 1, it was not possibleAnonymous
May 20, 2009
Hi, how hard is it to target VC8 (2005) from VS2010? I guess that I can hand-craft MSBuild to do it, but is Microsoft going to support multi targeting to VC8 in some easier way? Thanks.Anonymous
May 24, 2009
I am not againt the new BCGControlbar integrated into MFC. But I use another library (codejock). It would have been better if the new features were in a seperate dll, rather than built into the MFC*.DLLs, making them bloated. I tried to recompile the MFC dlls, but couldn't, due to errors. regards HariAnonymous
May 26, 2009
Hello Hari > I am not againt the new BCGControlbar integrated into MFC. But I use another library (codejock). It would have been better if the new features were in a seperate dll, rather than built into the MFC*.DLLs, making them bloated. I understand your point and appreciate where you are coming from, however a main reason for maintaining a single DLL is deployment (requiring only one dll in all situation is much easier model.) > I tried to recompile the MFC dlls, but couldn't, due to errors. Sorry, we do not support users recompiling MFC (or the CRT) from VS2010 on. Thanks DamienAnonymous
May 31, 2009
It's amazing... Obviously, this people have good ideas, I am not yet accustomed to VS 2008, that already have VS 2010.Wow...;)Anonymous
September 01, 2009
Victor said: > Hello Damien. [...] > 6) keep improving VS plug-in system so developers > could easily integrate and use third party > tools/libraries/compilers like Qt/wxWidgets/MinGW etc. From my experience I cay say it is not so easy to add support for gdb or gcc in VS2005/2008, but anyway it is possible ;) Kind regards, dksAnonymous
October 19, 2009
The comment has been removedAnonymous
October 25, 2009
Thanks Microsoft for this program is pretty good for that you say. I'm a programmer by my accunt and like me trial new border's and discover new things for programming but whatever tanks one more time Edgar MendozaAnonymous
November 18, 2009
The comment has been removedAnonymous
February 02, 2010
VS2010 is very good for the Visual C++ developer.Anonymous
February 05, 2010
The comment has been removedAnonymous
March 09, 2010
Please remove the manifest file limitation (yes, limitation) in the VC++ binaries. An unmanaged C++ binary should not need the .NET framework to run, only the MSVCRT.Anonymous
April 27, 2010
Do this mean I can compile a VC9 project and generate the very same binary result from VS 2010 by just setting the "Platform Toolset" to V90?Anonymous
September 09, 2010
Hello. I think I've managed to wrap up a support for VS2003. You might like to check it at vs2003.blogspot.com .Anonymous
February 10, 2012
I really love reading your comments guys.I learn a lot from you. Thank you so much Regard, Day Traders