Joe Duffy's Blog

  • August 14, 2004
  • Refactoring exception throw patterns: breaking or not?
  • Breaking changes are typically thought of as modifications which alter a public API’s surface area. For example, changing a method name from Foo() to Bar(), or otherwise changing it’s signature, such as adding a required parameter. Anything else is simply implementation fodder, subject to change as more efficient and/or appropriate means to compute the same result become available, yes?

  • August 13, 2004
  • System.ValueType.Equals... they told you so...
  • Those perf architects are usually right. For instance, when they recommend that you provide an explicit override implementation of the Equals(object) method for your value types, it’s a good idea to listen. Unless you intend to never compare your instances for memberwise equivallence, that is.

  • July 21, 2004
  • A plethora of programming languages
  • Microsoft Research has a number of very interesting programming languages currently baking in the oven. I find most of them extremely interesting, and will probably be babbling on about some of them in the coming weeks. Here’s a quick breakdown of what appears to be available: