Enforcing Style

Browsing some programming blogs this evening I came across Ken Arnold’s provocative “Style is Substance” post from October 2004. In it, he argues that coding style variants should be eliminated by including style in the language definition:

…the only way to get from where we are to a place where we stop worrying about style is to enforce it as part of the language.

This isn’t that shocking to Python programmers (perhaps that’s why he mentions Python twice in his list of “mature” languages?). Python enforces whitespace style. To me this is one of the great joys of working with Python – my code from two years ago, or somebody else’s code in an open-source project I’m looking at, uses exactly the same indentation “conventions” that I do – because they’re not conventions, they’re requirements.

After reading Guido’s “Stricter Whitespace Enforcement” document last April 1, I thought, “I know this is a joke, but bring it on anyway!”


Bob commented on Tue May 2 22:29:57 2006:

“In it, he argues that coding style variants should be eliminated by including style in the language definition:”

Why? There really is NO good reason to do this. In many languages there are already ways to enforce this.


Paul commented on Tue May 2 22:43:43 2006:

Sorry – I left out the link to the article! It’s there now. I think you’ll see that his reasons for suggesting it, and for thinking it’s good, are pretty clear, though certainly controversial. I think he’d likely say that “ways to enforce” equates to a voluntary system, and if it’s voluntary then there will be style wars.



Share: