# Monday, 12 February 2007

Aaron Stebner has a blog post and an update on installing the C++ redistributables (msvcr80.dll, atl80.dll and the rest.) You can choose

  • the user doesn't need to do anything, but there's a progress dialog and it has a cancel button
  • the user doens't need to do anything, there's a cancel dialog, but no cancel button
  • there's no ui at all and nobody knows what's happening

Turns out the command line you use varies a tiny bit for redistributable packages you installed with Visual Studio or those you get from the web, so read both posts.

Kate

Monday, 12 February 2007 11:24:12 (Eastern Standard Time, UTC-05:00)  #    
# Sunday, 11 February 2007

You know what they say: if I knew, I couldn't tell you. But Mary Jo Foley doesn't mind a little speculation, and Scott Guthrie seems pretty clear on timelines in the blog and presentation she quotes. So it's either "late 2007 or early 2008" or "later this year". But don't say I said so :-)

Kate

Sunday, 11 February 2007 11:12:54 (Eastern Standard Time, UTC-05:00)  #    
# Saturday, 10 February 2007

Visual Studio 2005 SP1 included new versions of some C++ libraries. Your application's manifest specifies what versions of the DLLs it wants -- so if you build with SP1, the application is going to look for SP1 versions at runtime. That has consequences for your deployment strategy, since non developers are unlike to have SP1 versions of those DLLs yet.

Nikola Dudar has gathered some questions and answers on this topic. I'll give you the questions, read his blog for the answers:

  • It looks like with VS2005 SP1 if a new version of VC++ libraries is installed, all apps start using it. Is this new policy for VS2005 SP1?
  • When my application is rebuilt with VS2005 SP1 it runs only when SP1 versions of VC++ are installed. Why does not it run when RTM versions of libraries are installed? Is this new policy for VS2005 SP1?
  • This behavior of VC++ libraries in VS2005 SP1 is it only specific to SP or is it going to be same in future releases of SP and hotfixes?
  • Wasn't the whole point of manifests to allow applications to specify the versions of VC++ libraries they want to load?
  • My application is using a DLL that is built with VS RTM. The application links against import library of that DLL and call exports of that DLL at runtime. Is this going to work with VS2005 SP1 and other SPs?
  • My final product is a set of DLLs. If I release a version of my DLLs built with VS2005 SP1, can my users who use VS2005 RTM to use these libraries?
  • My application is linking to static library party is built with VS RTM. Is this going to work with VS2005 SP1 and other SPs?
  • I see VS2005 SP1 has installed SP1 version of VCRedist*.EXE. Should I send it to my customers and ask them to install it?
  • I am using MSMs to redistribute RTM versions of VC++ libraries. Should I sent SP1 version of VCRedist.EXE to my customers and ask them to install it?

If these questions matter to you, then you have a blog post to read, don't you?

Kate

Saturday, 10 February 2007 11:07:33 (Eastern Standard Time, UTC-05:00)  #    
# Friday, 09 February 2007

Bruno van Dooren, C++ MVP and general nice guy, blogged recently on "Is C++ still a viable language?" He makes lots of good points about interop, templates, and control. He points out that some UIs are a lot easier to build with C#. Then, out of the blue, he says mean things about VB. I know he's only joking, but I just felt I had to defend VB's honour.

Here's the thing. C#, it's mostly just VB with semicolons, you know? And that's not an insult, you shouldn't gasp when you read it. VB's a good and useful language. [Of course I mean VB.NET, come on, we're coming up to our fourth release, the default VB is VB.NET now.] It's no secret I do far more work in VB than in C#. Once in a blue moon I want to do something in VB that would be easier in C# (last week I wanted to delay hooking up button handlers until some initialization was in place, something the Handles keyword isn't going to do for me) and if I did more C# I would probably find the occasional thing that would be easier in VB. Big deal! I can always find a way to do those things anyway. What matters is the framework, and that's the same in VB, C#, or C++/CLI. I like the synactic sugar of Dispose=destructor more than the synactic sugar of "using" or "Using" but the underlying mechanism is the same in all three cases.

Kate

Friday, 09 February 2007 11:00:29 (Eastern Standard Time, UTC-05:00)  #    
# Thursday, 08 February 2007

Herb updates us on the next C++ standard:

I'm happy to report that work on "C++0x", the much-anticipated Version 2.0 of the ISO C++ standard, has dramatically picked up steam over the past few months. The ISO C++ committee has now published the first partial draft of C++0x and plans to publish a complete public draft before the end of 2007.

As part of the push to get this done, the committee is having extra meetings, including one in Toronto in July. Hmmmm.....

You need to read Herb's blog post yourself for the details on what's in C++ 0x (Concepts, Garbage Collection, Memory Model for Concurrency, Concurrency Libraries) and what's not (Modules, Dynamic Libraries) with helpful links to even more details. This is our future -- and you can be sure, C++ has a future.  

Kate

Thursday, 08 February 2007 10:46:46 (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, 07 February 2007

Eileen Rumwell is sponsoring a contest to send someone to Globewomen's annual conference, Global Summit of Women, in Berlin in June. Globewomen invite you to:

  • Join the premier gathering of women leaders focused on advancing women's economic opportunities globally
  • Be inspired by the energy, enthusiasm and expertise of the women decision-makers in business and government from around the world
  • Learn practical strategies to grow your career or your business
  • Share winning solutions and strategies with your peers
  • Be part of a global network of economic dynamos who will make changes in the 21st century global economy.

A 250 word essay about why you chose the technical field you did, and how you feel about it (man! 250 words is hardly anything! that's a challenge!) could get you airfare and accomodations so you can attend this seriously high-level get together. If you don't (or can't) win, consider attending anyway ... it sounds like fun!

Kate

Wednesday, 07 February 2007 10:40:51 (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, 06 February 2007

I missed this article when it first appeared. Mary Jo Foley talked to Jason McConnell, me, and David Johnson about getting to all the new exciting Vista goodies, and how it's a bit easier from C++ because you can mix and match native and managed so simply. Watch for more guidance and guidelines on this from Microsoft coming soon.

Kate

Tuesday, 06 February 2007 10:33:14 (Eastern Standard Time, UTC-05:00)  #    
# Monday, 05 February 2007

Dylan Smith writes about testing: Unit tests (automated, written by programmers, repeatable), Acceptance tests (stories or scripts that can be done by developers or users and test high level requirements) and Exploratory tests (noodling around by a clever person to see how an app is doing). I like these categories and I do all three on my projects. I think a lot of developers get excited (rightly) about Unit tests and run the risk of forgetting the other two. You still need to lead your users through a structured process that causes them to conclude you have finished their project. (And you still need to rehearse that structured process yourself so you know in advance it will pass.) You still need to play around with it a bit, outside of the confines of test cases, and assure yourself it really is a good application.

We're not TDD, so I don't write the tests and code to them. But I write the scripts for Acceptance testing as we develop stories and requirements. They're also a fine way to bring a new programmer up to speed on a project by leading them through what it does and how you know it's working.

Kate

Monday, 05 February 2007 13:13:28 (Eastern Standard Time, UTC-05:00)  #