Month: October 2016

  • Undefined Behavior: Not Just for Programming Languages

    This is an oldie but goodie. Start with this premise: a = b Multiply both sides by a: a2 = ab Subtract b2 from both sides: a2 – b2 = ab – b2 Factor the left side: (a + b)(a – b) = ab – b2 Factor the right side: (a + b)(a – b)…

  • Principles for Undefined Behavior in Programming Language Design

    I’ve had a post with this title on the back burner for years but I was never quite convinced that it would say anything I haven’t said before. Last night I watched Chandler Carruth’s talk about undefined behavior at CppCon 2016 and it is good material and he says it better than I think I…

  • Vigorous Public Debates in Academic Computer Science

    The other day a non-CS friend remarked to me that since computer science is a quantitative, technical discipline, most issues probably have an obvious objective truth. Of course this is not at all the case, and it is not uncommon to find major disagreements even when all parties are apparently reasonable and acting in good…