At TechED Developer 2007 I was fortunate enough to catch up with C++ expert
Kate Gregory and VC++ team members Ale Contenti and Steve Teixeira for a conversation in the TechED Fish Bowl. Not surprisingly, the topic we focused on was VC++ 2008, the future of VC++ and Microsoft's commitment to innovating and evolving this powerful
unmanaged platform in the context of it being an
unmanaged platform (as opposed to concentrating on how C++ can interop with and, in some sense compete with, managed code, etc).
We thought it would be wise to get an external C++ expert together with Microsoft C++ People to chat about what's new, where the platform is heading, the position and relevance of C++ in an increasingly managed world and other fun topics to capture a customer's
feedback on camera (no where to hide, MS product people!

).
Kate, who is a C++ MVP and fantastic speaker (her C++ sessions always rank highly among attendees) provides real world context and perspective with regard to what C++ developers want and need. The product team people, like Ale and Steve, are of course listening
and acting on the feedback from C++ developers like Kate who target Windows primarily, if not entirely, in an unmanaged context.
As always, it was a pleasure to chat with Kate, Ale and Steve.
If you are a C++ developer (or interested in the future of VC++), then this interview is for you!
Enjoy,
C
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
Now, what did you mean by that?
I really don't like the "shiny objects" analogy. Try asking IBM how many of those conversions from mainframes to Microsoft software were "green fields." Now that Microsoft is the landscape, not IBM, suddenly those "green fields" are "brown fields?"
The disconnect here is why those libraries that are only available to C++ programmers are not available to .NET programmers. Maybe you should have made them available to .NET programmers? Not only are they not available, but there is no publicly available roadmap for when that might happen, if ever.
I loved the IntelliSense discussion!
I must ask, what will be the point in moving from C++ -> C#/VB .NET when the next ISO C++ standard is released ? it will have a garbage collector to improve stability (hopefully). Sure the .net framework is excellent, but I can interop already with what I want from it.
C++ at that point can become GC enabled or non GC enabled at a whim !
Again, I am a firm believer in the best tools for the solution.
herb sutters blog
Hello CPrest
Please look at Herb's more recent blog on GC and C++0x: http://herbsutter.spaces.live.com/blog/cns!2D4327CC297151BB!330.entry
Thanks
Damien
VC++
NOOO !!! I'm melting.... MELTING... What a world...
which brings me too..... F#, a very neat language which includes the best of all worlds !
well for the time being, I see myself still promoting C++ as my main code base for upcoming projects. I especially like the new MFC updates and the TR1 addins. I still cant find a replacement (framework) for application daemons that have to run 365 days.... in a small footprint (which is a reality for some developers).
Kate mentioned about services. In todays business world, SOA is used to describe everything and anything to do with business integration systems.
However we have many C++ webservice stub generators, which make it literally 5 minutes to develop a C++ webservice or webservice client. You dont need to write up your own crazy fast XML parser !
In short, use the best tool possible...
[Troll nonsense removed]
You don't always need a garbage collector to get a simple memory resource management
For example, if you extensively use smart pointers like tr1::shared_ptr, you can safely manage memory with familiar C++ concepts (like for example determistic destruction).
With tr1::shared_ptr, you call new() once and you don't need to worry about calling delete to release the memory. The smart pointer will take care of releasing the memory when the reference count goes to 0.
tr1::shared_ptr is part of the TR1 addition to the Standard C++ Libraries. TR1 will be released on top of VC++ 2008 very soon. Check out vcblog for more info on this!
HTH, ale.
the move from "oh we're going to make extensions to c++ here and there and lets push people to our managed environment" to the current mindset is really good for vc++ and the c++ language in general.
i'd even go so far and say that the managed push with managed c++ (back in the "__gc" times) and to some extent c++/cli hurt the c++ community.
i 'd always prefer library solutions over compiler based solutions such as c++/cli. i know it's too late for that.. but what i mean is:
the most pure solution would be to offer a static library or even a header-only library that i can call if i want to talk to managed code.
let the library do all the tricks to talk to CLI code.
id would add a layer but from a c++ language standpoint this would be much more pure a solution.
there's also one aspect i always would like to add to the answer to "why do you like c++?" :
i really like the way you can bend c++. the syntax is complicated / flexible enough to either write in a style that is really close to C89 if that's what you want. you can write in a java-like style and have hierarchies over hierarchies..
you can be purely procedural.. or you can create complicated compile-time intensive yet incredible efficient code with template magic.
that flexibility to choose your style within one language is really extraordinary.. C++ gives you the colors but the way you paint is really up to you.
Thanks Ale (sorry for mis spelling your name in the previous post). True I forgot about the upcoming shared_ptr class (which my boost developer friends are going to kill me). I stayed away from the auto_ptr for various reasons in the past, but this looks promising.
A question that may spark more (or be completely off base): In multi core/multiprocessor environments, what happens to the shared_ptr if you pass a reference to thread-B from Thread-C (which gained the shared_ptr's memory via new) then thread-C dies. would thread-B still have access to the shared memory thus keeping the content in tact? or will it be destructed because thread-C is gone. Now im not 100% sure on windows, but the memory location in some of those implementations (i.e. NUMA ) can be local to the processor and not in shared memory.
I thought the same thing, as Kate's shirt is actually gray. If you're interested in the VH1 Behind the Music aspects here, there were actually some bright lights behind and above us that were affecting the camera's light pick-up.
Remove this comment
Remove this thread
close