# Friday, 22 July 2005

People regularly email me, or approach me at conferences, and ask me to “confirm” that Microsoft is trying to get rid of C++ in favour of C#. Since nothing could be further from the truth, I am not the person to get a confirmation from. But then again, I don't work for Microsoft, so maybe I'm deluded? That's why I like to find simple and unequivocal statements from people who do work for Microsoft, like this:

Visual Studio 2005 takes C++ development to a new level. For example, developers will get the same drag-and-drop experience creation of user interface as other languages, the same automatic statement completion and the same intuitive graphical debugger. Visual C++ 2005 developers will be able to build high performance 32-bit native code applications, use web services to interact with popular sites such as Amazon.com and Ebay, add professional quality 3D/2D graphics, video and sound using the DirectX SDK, all while generating robust and extremely fast code using our world-class C/C++ compiler.

C++ is here to stay for a long time and we are committed to providing the best tools for C++ development.

That's kind of hard to misinterpret. And when the Corporate Vice President of the Developer Division says it, you really need to believe it.

Friday, 22 July 2005 09:26:10 (Eastern Daylight Time, UTC-04:00)  #    
# Saturday, 16 July 2005

Brandon Bray went about 18 months without blogging and I know I was just one of many people who begged him to start again. Well, he has and his first entry is a delightful laundry list of things he plans to cover. The second is about switch reduction in the 2005 compiler and linker, but it provides wonderful insight into the hassles of writing, testing and maintaining a compiler and a linker. A few quotes:

I started evaluating changes by doing none else than reading the source code for the compiler driver. Through that I came across obsolete, outdated, bizarre, undocumented, and useless switches. I looked at each one asking whether it was necessary for the compiler in the long term and evaluating each switch against the requirements listed above. I actually spent most of my time trying to figure out what each switch did. Even asking developers who work on the compiler, I'd sometimes get several different answers. In a few cases, no one knew what the switch did. If our own team couldn't recall a switch's purpose, it's not hard to believe nearly every programmer using Visual C++ will have the same problem.

...

In a good attempt to allow application writers to make use of the latest and greatest hardware, nearly every compiler introduced a new better switch to make your code even faster. Unfortunately, compiler switches end up in make files that rarely get revised. It wasn't uncommon to see a make file specify a G4 or G5 switch even though 80486 and Pentium have long been out of mainstream production. The G-series of switches do not prevent programs from running on older hardware, which was a common misconception. Eventually, Visual C++ just ignored the G3, G4, and G5 switches and the program compiled as if G6 had been given to the compiler.

Brandon writes with a dry, understated sense of humour. You have to love “It is difficult to know that Os and Ot are ineffective.” or “Very few programs could actually work with these options, so they were both removed from Visual C++ 2005.” Not to mention subheads that call switches “truly evil” or “bizarre”.

An excellent post to give some insight into what the team's decisions involve day to day, and the extent to which MVP and Ladybug feedback make a real difference in those decisions. Keep going, Brandon!

Kate

ps: the topic for the second post came from a comment on the first. Tell him what you want to read and I bet he'll write it.

Saturday, 16 July 2005 22:30:10 (Eastern Daylight Time, UTC-04:00)  #    
# Thursday, 14 July 2005

I'm registered and I've reserved a hotel room. Just the little matter of plane tickets to take care of now...

Kate

Thursday, 14 July 2005 11:10:50 (Eastern Daylight Time, UTC-04:00)  #    
# Monday, 11 July 2005

The French Canadian version of DotNet Rocks is BlaBla dotNet. Recently Mario Cardinal prowled the halls at DevTeach asking speakers and other well known folks to give ONE good reason for switching to VS 2005. Just one! What a challenge! The answers he collected are in English, so even though the Eric-and-Mario banter around the quotes is in French, you can understand the show even if you're monolingual. In the banter, you can hear people's names, book titles, occasional familiar words, and delightful phrases like “Superstars de monde de développement” or “bloggeuse très prolifique” (that one for Julie Lerman and I just adore bloggeuse and will try to use it whenever I can) and various stuff you probably need at least grade school French for but that I can just follow, and then someone speaks in English about VS 2005 cool features.

When Mario cornered me, he told me a big surprise for him was the lack of duplicates. Mostly we all picked very different features, so by listening to us all you get a real sense of the treats that are waiting for you. You might also spend some time thinking about describing an elephant if you only get to touch one small part of it :-)

Kate

Monday, 11 July 2005 09:57:26 (Eastern Daylight Time, UTC-04:00)  #    
# Monday, 27 June 2005

Actually a whole bunch of them are, at www.groktalk.net, but mine in particular is at

http://www.groktalk.net/blog/KateGregoryPresentingWhyCIsntCEnough.aspx

My favourite part happens after the camera is off and we go to credits. :-)

You can stream these, download them to watch at your leisure, or bring them down in the background with BITS using a tool like DrizzleCast. Full instructions are at the main URL. We've set each talk up as a blog entry so that you can comment and ask questions: you'll lower my workload if you comment there rather than here.

Kate

Monday, 27 June 2005 18:25:30 (Eastern Daylight Time, UTC-04:00)  #    
# Thursday, 23 June 2005

The C++ team has released an update for Beta 2 of Visual C++ 2005. This isn't a feature patch, it's an improvement to the information gathering that they use to tweak the final release, based on how all of us actually use the beta.

This patch updates the C++ IDE language service DLL (vcpkg.dll) to provide proper upload of usage data for the Customer Experience program. Applying this update is very important in ensuring that the Visual C++ team gets accurate data about the usage of the different product features. The Visual C++ team would appreciate you taking the time to apply this patch. This patch ensures that the Visual C++ team gets the most accurate information available to help provide a high quality product at RTM.
The patch is about a meg: you can download it right now. Then it's just a matter of extracting and replacing a DLL.
 
Kate
Thursday, 23 June 2005 07:17:07 (Eastern Daylight Time, UTC-04:00)  #    
# Sunday, 19 June 2005

While we wait for my Groktalk to appear (editing is really hard and timeconsuming and Scott is a hero) I have been getting a few requests for “the seven things C++ has that C#” doesn't.

  • Can generate native code and work with native types from other libraries
  • C++ interop – the fastest and easiest
  • Templates and generics
  • Deterministic destruction
    • my absolute favourite, I must say
  • Optimized MSIL
  • PGO for native and managed code
  • .NET Linking (from within the IDE)

I will try to do individual blogs on these when I can. In the meantime, you can peruse the deck and remember, it's for a ten minute talk: Why Cpp.ppt (94 KB).

Kate

C++ | RD | Speaking
Sunday, 19 June 2005 14:37:49 (Eastern Daylight Time, UTC-04:00)  #    
# Saturday, 11 June 2005

In my second Tech Ed talk I touched very briefly on the classes, templates, and macros that make it easy to integrate MFC and WinForms in C++ applications that target the runtime. If you want proof of Microsoft's continuiing committment to MFC, head for the new MFC whitepaper on MSDN. I quote:

.NET integration enables MFC applications to leverage the power and productivity of the .NET platform as a natural extension of MFC. The reliability and security enhancements in MFC make for a more productive development process with fewer end-user issues, and existing MFC applications can take advantage of these enhancements with little more than a simple recompile in many cases.

I'll give links to more details as soon as I can.

Kate

Saturday, 11 June 2005 14:17:14 (Eastern Daylight Time, UTC-04:00)  #