# Wednesday, 27 July 2005

I got an interesting email today with this subject line: Want to build the next generation of C++ Libraries?

Enclosed was the following, from Martyn Lovell:

Development Lead, Visual C++ Libraries

Want to set the standard for the next generation of C++ application? Ready to design code that will be used and critiqued by the whole developer community? Want to have a direct connection to customers whose problems you understand? Want to build a new generation of libraries for a new language running in modern environments? The Visual C++ Libraries team is the place for you. We own all the library code shipped for C++. We are building new libraries that drive developer productivity and power on the native and managed platforms. Next version we’ll have to understand how our customers are going to work with WinFX and move forward with their existing code. And we’ll have to bring our native and managed libraries up to date to work seamlessly with the technologies of the Longhorn Wave, WinFX and ISV applications like Office 12. We own the full set of C++ Libraries -- C Runtime Library, Standard C++ Library, MFC and ATL. In future releases we’ll also have to address some of the challenges of parallel programming, and migration of existing native applications to managed code. We’re looking for senior individual contributors ready to code, design and provide the next generation of code reuse though leadership at Microsoft. Degree in a relevant subject and five years of software engineering required.

We are anticipating expanding our team for our next version to allow us to build some new MFC and ATL features (such as integration with Avalon, and support for new UI styles). So we’re hoping to find one or two people with deep MFC experience to add to our team. You don’t have to be using MFC today, but we especially want to hear from you if you have written a good amount of MFC code in your past.

If you know Martyn's email address, go ahead and email him and mention you saw it on my blog. If you don't, email me (don't leave a comment) and I will forward it to him.

Kate

 

Wednesday, 27 July 2005 14:26:24 (Eastern Daylight Time, UTC-04:00)  #    
# 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)  #