Boost logo

Boost :

From: Brey, Edward D (EdwardDBrey_at_[hidden])
Date: 2002-01-17 11:11:16

I'm hesitant to post on a topic that can get so personal and religious, but
I feel that fairness dictates a brief note that tabs are not inherently
evil. The root problem comes from assuming a given tab size and the
misalignment that ensues if the assumption is wrong. However, it is
possible to write code that is entirely tab-size agnostic. Such code does
not rely on any alignment for any character except the first non-whitespace
(which is often fine in light of modern-day syntax highlighting). Even a
rule of "tabs only or spaces only, but not both" is too restrictive,
because, for example, it rules out the "space before 'public:', tab before
declaration" approach to creating a class, even though that approach is
still tab-size agnostic.

Given alignment-free code, tabs actually are beneficial: they allow users to
customize indent to their choosing, and they eliminate from users of
proportional fonts the negative effect that opening spaces tend to be too

These comments do not lessen the importance of Beman's request, since the
files I've seen in Boost do tend to make alignment assumptions. I'm
speaking simply on principle.

-----Original Message-----
From: Beman Dawes [mailto:bdawes_at_[hidden]]
Sent: Thursday, 17 January 2002 9:32 AM
To: boost_at_[hidden]
Subject: [boost] Files with tabs or missing last line newline

First, thanks to John Maddock, Rich Lee, and Jeremy Siek for already fixing
a huge number of tab problems.

We've still got a way to go, however. See below. The "tabs" indication
means the file has one or more tabs. A no-no because editors with tabs set
differently mess up file display. The "last line" indication means the
file does not end with a newline. Bothersome because some compilers warn
on this condition.

Please take a few minutes to fix any files you are responsible for. Also,
please set your editor to "use tabs instead of spaces". That's good advice
for anyone writing code which will be read by someone other than the


Boost list run by bdawes at, gregod at, cpdaniel at, john at