This has been on hiatus for a while while I acclimate to my new job. This is no excuse, as I’ve been learning new things, but it is what it is. I’ll sprinkle some of the things I’ve learned in the last two weeks in the below.
- VBScript (and I presume VB) dimensions arrays with the highest element index, rather than with a count of elements. I find this really frustrating, since they’re still zero-indexed.
- COM is pretty damn clever. Convoluted, dangerous, and chaotic, but clever. It remains very interesting up until the “now let’s see how this looks in the real world.” I don’t believe any of the crap about platform portability, but as a language-neutral interoperability standard, it’s a pretty sexy way to communicate, without all of the hassles of managed code and .NET. I know I’m about a decade behind, but life goes on.
- ScopeGuards are rather clever. It is very clear what they are doing when you use them, and they serve to make a lot more sense in many situations. This is most true when you’re using them to guard resources that are not pointers, or when their memory-clearing semantics don’t just involve invoking the destructor. ON_BLOCK_EXIT(VariantClear(&variantArg))); is a beautiful example.