Let’s Talk About Python 3.0: Thoughtful essay by James Bennett in support of Python 3.0. Love the opening.
I agree that the opening is a great cautionary tale. However, the actual Python 3.0 content is even better, because it gives an interesting example of difficult software engineering tradeoffs being worked out through serious debate and attention to conceptual, craft, and social issues in programming. I especially like the discussion about Unicode, because I never understood why previous solutions allowed confusion between a string over a given alphabet and byte encodings of such strings. But then I remember that computer science faculty and students seem to have perversely conspired to make automata and formal languages seem totally irrelevant, so that the simple notion of an injective homomorphism from $\Sigma^*$ to $\Gamma^*$ is no longer obvious to all concerned. (Via Daring Fireball.)