Here here. I'm with Tor. The proponents of the Tab Indentation Style (TIS) claim that the flexibility of the tab allows the readers to adjust the indentation to their preference. But as Tor points out, this is just one small piece of the overall code style and allowing just this one degree of freedom is so limited to be pointless. The other problem that has ben pointed out, is that there are so many tools that we use to look at source in different contexts, that it is impossible to configure them all to always do what we want. Whenever I see source with screwed up formats in viewers (diff, fisheye, etc) it's always due to tabs being wrong. Yes, sometimes it is due to bad mixing of spaces and tabs, but sometimes it is just that different authors used tabs with different width settings. The code always looks perfect in all tools when it is indented with spaces.
I'd like to add another dimension that the indentation and left alignment of source elements do interact in most formatting styles. Even if you don't go for the "ASCII-art" column alignment style (and I don't), it is still very desirable, to align indented things with text positions, like long wrapped parameter lists with the left edge of the first parameter. You can't do this with tabs. You can only do this with spaces (and a fixed width font). So, that leads to the discussion of source being stuck in a world of plain text and fixed width fonts. I do see how it would be nice to edit code with the richness of text like Fortress. But there is also beauty in Plain Old Text. How many of our data formats have evolved over the last few years from custom binary formats to plain old text? XML? JSON? CSV? There's something to be said for universality. We have our IDEs to do the really smart, language-sensitive formatting and wrapping and indenting as we edit. But after that, most tools are not capable of that degree of rendering. While it would be nice to keep source simple and pure and unformatted, letting the viewer render it how we like at the moment, we live in a world where we must rely on the IDE to "prerender" the source into a fixed pretty format for the down stream tools to consume. --carl -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
