login
Header Space

 
 

Re: On Tabs and Spaces

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Linus Torvalds <torvalds@...>
Cc: Tom Tobin <korpios@...>, <git@...>
Date: Tuesday, October 16, 2007 - 7:51 pm

On Tue, 16 Oct 2007 16:05:34 -0700 (PDT)
Linus Torvalds <torvalds@linux-foundation.org> wrote:


Unfortunately most editors are totally confused about the difference
between tab size and indentation level.  Visual Studio, probably the
most commonly used development environment on Windows, by default uses
TAB characters that are 4 spaces wide, and users are recommended
not to change that because of that a lot of existing Windows source code
and examples uses those settings.

Two years ago, when I last looked at it, Eclipse, a very commonly used
development environment, managed to confuse tabs and indentation and
make it almost impossible to write Java or C code with a tab size of 8
with a different indentation level.  The Eclipse 3 betas did see some
improvement there, I think it got possible to do the right thing in
Java at least, but the normal text editor and C editor lagged behind.
But it was still a big mess and it was much too easy for someone to get
a tab size which is not 8.  Hopefully this has been fixed by now, but I
wouldn't bet any significant amount of money on it.

Nedit (which runs on Linux) has a very confusing settings dialog with
terms such as "tab spacing", "emulated tabs".  I guess emulated tabs
means the indentation level, but guess how easy that is to mess up.

gedit can control the tab width, but has no setting at all for
configuring the indentation level.  Guess what people do when they want
a 4 space indentation level?  Yes, right, change the tab size to 4.

A a former colleague who used visual slickedit usually produced code
with tab size 4.  I think I've gotten the same crap from ultra edit 32
users.

And so on...  Mercifully, _all_ of these editors have a setting to use
spaces instead of tabs, and telling people to turn on that setting is
the absolutely easiest way of making things "just work".  Yes, I know,
the correct answer is to tell people to always use tab size 8, and I
frequently and loudly do that.  But at the same time, perfect is the
enemy of good.  It's much easier to explain "tabs will act differently
in different editors, but if you always us spaces it will not be a
problem" than to get into a discussion about the semantic difference
between tab size and indentation.

If you assume that everyone is sane and use a tab size of 8 you will
get bitten, sooner or later.  Or actually, you, Linus, who are lucky
enough to work mostly with Linux source, you might personally not get
bitten all that often.  But us poor suckers that have to work with
other people, often Windows programmers, we do.

  /Christer








-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: On Tabs and Spaces, Jari Aalto, (Tue Oct 16, 1:06 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Tue Oct 16, 3:20 pm)
Re: On Tabs and Spaces, Dmitry Potapov, (Thu Oct 18, 12:36 am)
Re: On Tabs and Spaces, Sam Ravnborg, (Tue Oct 16, 4:56 pm)
Re: On Tabs and Spaces, Mike Hommey, (Tue Oct 16, 3:36 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Tue Oct 16, 3:47 pm)
Re: On Tabs and Spaces, Matthieu Moy, (Tue Oct 16, 4:32 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Tue Oct 16, 3:51 pm)
Re: On Tabs and Spaces, Tom Tobin, (Tue Oct 16, 4:18 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Tue Oct 16, 7:05 pm)
Re: On Tabs and Spaces, Christer Weinigel, (Tue Oct 16, 7:51 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Tue Oct 16, 8:45 pm)
Re: On Tabs and Spaces, Michael Witten, (Tue Oct 16, 11:08 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Tue Oct 16, 11:29 pm)
Re: On Tabs and Spaces, Luke Lu, (Wed Oct 17, 3:17 am)
Re: On Tabs and Spaces, Michael Witten, (Wed Oct 17, 5:09 am)
Re: On Tabs and Spaces, Nikolai Weibull, (Wed Oct 17, 6:21 am)
Re: On Tabs and Spaces, Michael Witten, (Wed Oct 17, 7:23 am)
Re: On Tabs and Spaces, Luke Lu, (Wed Oct 17, 6:03 am)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 11:53 am)
Re: On Tabs and Spaces, Johannes Schindelin, (Wed Oct 17, 2:05 pm)
Re: On Tabs and Spaces, Jeff King, (Wed Oct 17, 8:32 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 8:59 pm)
Re: On Tabs and Spaces, Jeff King, (Wed Oct 17, 10:45 pm)
Re: On Tabs and Spaces, , (Wed Oct 17, 11:03 pm)
Re: On Tabs and Spaces, Jeff King, (Wed Oct 17, 11:00 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 11:32 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Thu Oct 18, 12:17 am)
Re: On Tabs and Spaces, Nicolas Pitre, (Thu Oct 18, 12:52 am)
Re: On Tabs and Spaces, Jeff King, (Thu Oct 18, 12:54 am)
Re: On Tabs and Spaces, Jeff King, (Thu Oct 18, 12:55 am)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 11:13 pm)
Re: On Tabs and Spaces, Jeff King, (Wed Oct 17, 11:23 pm)
Re: [PATCH] git-gc: improve wording of --auto notification, Shawn O. Pearce, (Thu Oct 18, 9:24 pm)
Re: On Tabs and Spaces, Tom Tobin, (Wed Oct 17, 2:25 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 2:54 pm)
Re: On Tabs and Spaces, Jan Wielemaker, (Wed Oct 17, 3:47 pm)
Re: On Tabs and Spaces, Tom Tobin, (Wed Oct 17, 3:33 pm)
Re: On Tabs and Spaces, Johannes Schindelin, (Wed Oct 17, 5:08 pm)
Re: On Tabs and Spaces, Nicolas Pitre, (Wed Oct 17, 3:48 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 3:53 pm)
Re: On Tabs and Spaces, Christer Weinigel, (Wed Oct 17, 5:21 pm)
Re: On Tabs and Spaces, Johannes Schindelin, (Wed Oct 17, 6:11 pm)
Re: On Tabs and Spaces, Christer Weinigel, (Wed Oct 17, 7:17 pm)
Re: On Tabs and Spaces, Johannes Schindelin, (Wed Oct 17, 7:44 pm)
Re: On Tabs and Spaces, Christer Weinigel, (Wed Oct 17, 8:31 pm)
Re: On Tabs and Spaces, Andreas Ericsson, (Thu Oct 18, 2:02 am)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 7:53 pm)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 6:03 pm)
Re: On Tabs and Spaces, David Kastrup, (Thu Oct 18, 2:25 am)
Re: On Tabs and Spaces, Linus Torvalds, (Wed Oct 17, 3:44 pm)
Re: On Tabs and Spaces, David Kastrup, (Wed Oct 17, 4:31 pm)
Re: On Tabs and Spaces, Josh England, (Wed Oct 17, 3:52 pm)
speck-geostationary