I hate to move

This is a fact I have known about myself for a long time — I hate to move. Not the, "physically causing my limbs to work in an organized manner to cause my body to change position" type of move, but the, "let's take all of our stuff from one house, and cause it to be in another house through our efforts" type of move. I have discovered lately, that there is something I mislike more — moving oneself (and ones' spouse/significant other). Especially when done in a number of truckloads. Even more especially when said move requires ferry connections.

Over the past week, and including part of next week, I have been preparing for, "The Experiment" by physically dragging, pleading and wrestling with all of M's stuff (and mine as well). Getting it into a truck, watching as M drives the truck to various ferries, and repeating the dragging, pleading and wrestling on the other side (made even more amusing by the novel architecture in our new house). M and I are moving to Victoria (Home of the Newly Wed and Nearly Dead™), British Columbia. I will still be working for Microsoft, however. This is, in fact, "The Experiment" mentioned above, as normally, MSFT prefers it's people in house. Still, the exercise (and I do mean exercise) in moving has made a few things apparent:

  • We have way more stuff than I thought.
  • Said stuff is heavy.
  • I hate moving.

OK, I better bring this back around to something vaguely technical before the landlords kick me out. At TechEd, I had the great fortune of speaking with (among other people, don't be insulted, Bill) Kate Gregory. Now, as many of you know, Kate is of the C++ persuasion (not that there is anything wrong with that). We had a lovely talk that included the new hats (^) in managed C++ 2005, and the relative merits of C++ development. This is also a semi-frequent discussion with another illustrious C++ person (whom I have the great fortune of speaking with almost every workday), Brian Johnson. Brian is the Content Strategist for the C++ Developer Center (as well as many, many, many others) and so has a vested interest in C++ usage.

Still with me? Threads will come together, I promise.

One topic Brian has convinced me of is, "Never rewrite code from scratch". Of course, other illustrious developers feel this way, and they frequently bring up the Netscape story when they do. In short, Netscape tried to rewrite Navigator from scratch. It took a long time — I suspect longer than they planned, and with much more effort. (merger #1) Similarly, I doubt you will ever see the Excel team rewrite their calculation engine in .NET. Just as with moving houses, moving a large code base is 100% likely to cause you to realize:

  • You have way more code than you thought you had.
  • That code may be complex, spaghetti and full of weird cases, but I bet you there is a reason.
  • By the time you realize  your mistake, it will be too late to back out.
  • When you're done the exercise, you'll find you are right where you started in terms of functionality.

Now, of course, the proponents of rewriting point out that without that exercise, we never would have ended up with Firefox (that I am currently using to write this post). However, I'd say there were wrong. I think that the developers could have come up with something pretty much the same through a combination of refactoring and wrapping their old crufty code in new APIs. This is (in a semi-demi-hemi-kind of way) essentially what .NET is — wrap the old crufty, organically grown Win32 APIs in a new, cleaner model.

What if I told you that there was a magic tool that existed that could take all your code: Assembly, C, C++ and .NET code, and create interoperating islands of functionality? Of course, you've already seen merger #2 coming from a mile back, and know that I'll tell you that the tool exists: C++. C++ is the only language that can walk the line between native code, MFC stuff, ATL components and managed (that I know of, feel free to correct me). In short, I think Kate, Brian, and all the rest of you C++ folk can sit back and chortle (guffaw, maybe) as you are the glue that can make each of these parts work together. Now, if you'll excuse me, I need to figure out how I can wrap my existing house, so that it appears in Victoria without me having to finish the move.

Print | posted on Saturday, June 25, 2005 2:47 AM

Feedback

# re: I hate to move

left by Anonymous at 6/27/2005 9:07 PM Gravatar
I realize this got you back to the great white, which is good..but seriously, what a PITA. Where the fuck did you find the energy for that?

Didn't want to get a moving company to do the packing and all?

# Kent Sharkey

left by kent at 6/28/2005 5:51 AM Gravatar
hehe, that's what I keep asking myself. Both, "Where did I get the energy", and "Why didn't I pay someone to do this?"

#2 is cheapness, anyway.
Comments have been closed on this topic.