Boost logo

Boost :

From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2002-09-09 10:56:23

>From: "David Abrahams" <dave_at_[hidden]>

>From: "Terje Slettebø" <tslettebo_at_[hidden]>
>> The following have probably been covered before, but I didn't find a
>> rationale for it here ( Why are
>> tabs banned in Boost libraries?

>Its roughly the same reasons as we format for fixed-width fonts.

That section says:

"Dave Abrahams comments: An important purpose (I daresay the primary
purpose) of source code is communication: the documentation of intent. This
is a doubly important goal for boost, I think. Using a fixed-width font
allows us to communicate with more people, in more ways (diagrams are
possible) right there in the source. Code written for fixed-width fonts
using spaces will read reasonably well when viewed with a variable-width
font, and as far as I can tell every editor supporting variable-width fonts
also supports fixed width. I don't think the converse is true."

How does this apply to tabs? More or less all editors have support for tabs,
and for setting the tab size. Do you mean to say that because some may use
Notepad to write programs, others won't be able to benefit from using the
tab size they prefer?

>> If you use tabs for indentation, and spaces for alignment, there
>> be any problem with it. Tabs have an advantage over spaces in that it
>> then show the source using the tab spacing that you prefer, and it would
>> still be aligned correctly.

>Yes, but few editors give you tools for helping you with that, or for
>checking that you actually use that practice:


>> Other advantages are:
>> - They tell logically what it's about, while spaces carry no such
>> information.

What I meant is that a tab is kind of like markup information in the source.
The tabs tell that this is indentation.

As I understand, the reason for this is mostly that it's hard to check that
the practice is being followed. So tabs are banned, as that is easier to
check for.



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