Quoting bg-rubytalk / infofiend.com, on Wed, Mar 23, 2005 at 08:17:53AM +0900:
> Martin Ankerl wrote:
> >>I try to follow the style that is predominant in the Ruby parts of the
> >>Ruby source.  Also, see:
> >
> >I also do this, but there is one thing I cannot stand: every ruby lib 
> >uses 2 spaces for indentation! IMHO it should be tabs, and *only* tabs. 
> >This is much better, because in almost every editor it is possible to 
> >set the tab width to whatever one likes. I hate 2 spaced sourcecode, 
> >because I usually set one tab == 8 spaces, and use a non-fixed font.
> 
> Yay!  Let's start a tabs vs. spaces flame war!!
> 
> My view?  Tabs should never, ever be used in a file.  (Ever)  Can you 
> have a source code file without spaces?  I doubt it.  Can you have a 
> file without tabs?  Certainly.  Is mixing the two the main problem? 
> Yup.  Use only spaces.
> 
> It's funny though.  I think this eternal flame war is related to the 
> other eternal flame war: vi vs. emacs.  In Emacs, the 'tab' button is 
> most often bound to 'indent-command'.  This and 'indent-region' makes it 
> really easy to use spaces for indentation, and to adjust/fix someone 
> else's indentation when it's bad.  On the other hand, I think vi makes 

Select the area, or whole file (%=), and press "=" in vim to do this. I
suspect = is standard on the ancient vi as well.

> it much harder to use spaces for indentation, so tabs seem more attractive.

That's funny, I haven't found that emacs uses spaces to indent by
default. Its supposed to default to the GNU coding standard, though what
it does on any machine is pretty subject to the whims of who installed
it. The emacs standard/GNU indent style is the weirdest around, IMO.

foo()
  {
    int ;

    if()
      {
        ...

It uses TAB by default (every time indent gets over 8 chars, it uses a
TAB). I've always though the GNU coding style was specified to showcase
the power of the emacs indentation engine. I never got vim to do it, but
I just fed my functions through GNU indent, and whatever it looked like,
I comitted. Can't be acused of not following the GNU coding standards
then, GNU indents output is supposed to follow it!

I'm pretty easy about coding styles, everwhere I've worked has a
different one, the important thing is that people have the same one if
they work on their code a bunch. I do confess agreement with the 8th
commandment for C programmers:

  Thou shalt make thy program's purpose and structure clear to thy
  fellow man by using the One True Brace Style, even if thou likest it
  not, for thy creativity is better used in solving problems than in
  creating beautiful new impediments to understanding.

Particularly the last phrase abou where your creativity should be
focussed...

The only one style actually dislike is the GNU one. Also I think any
standard that I can't remember is way too detailed.

I'm averse to indents over about 4, and I think tabs are lame. They work
fine if everybody on your team uses the same settings, but when anybody
else looks at your code, it will look bad.

I think a bunch or ruby core developers (matz, for one) use emacs, so
many of the files use tabs, and indent two char widths per nesting
level. Not all, though.

Cheers,
Sam