1st: Visible with
They say that TABs are rendered differently by different softwares and devices. I cannot accept that. Read on.UNICODE 2.0 released in year 1996. In around 2001 people wanted to kill me because I used UTF-8 characters on IRC, and they argued that their [not so good] software cannot render them correctly. I ignored them. Their [not so good] software became advanced, their minds became open.
Editors and devices where the visible width of TAB characters cannot be adjusted are not so good. TAB is not a new invention at all.
2nd: Formatting
TABs are not for formatting. They are only for indenting.int·main() { → printf("Hello·%s!\n",·//·I·like·to·move·it, → ·······"World");······//·move·it. → return 0; }
If you want to graphically align something then you should use SPACES. If you are expressing the depth of control, then you should use TAB. The above code will maintain it's visual, see:
int·main() { → {·//·Ad-hoc·block·begin → → printf("Hello·%s!\n",·//·I·like·to·move·it, → → ·······"World");······//·move·it. → → return·0; → }·//·Ad-hoc·block·end }
3rd: Freedom
See what happens when visible with of TAB is set to 8, because someone may like it that way:int·main() { → {·//·Ad-hoc·block·begin → → printf("Hello·%s!\n",·//·I·like·to·move·it, → → ·······"World");······//·move·it. → → return·0; → }·//·Ad-hoc·block·end }
The hairdo is still tight.
What if someone's favorite visual TAB size is 2?
int·main() { → {·//·Ad-hoc·block·begin → → printf("Hello·%s!\n",·//·I·like·to·move·it, → → ·······"World");······//·move·it. → → return·0; → }·//·Ad-hoc·block·end }
The hairdo is still tight.
4th: Symbolism
From my heart: http://www.mail-archive.com/vim_use@googlegroups.com/msg18895.htmlFavorite part: ... tabs for leading indent, spaces everywhere else. I prefer this strategy for the same reason I prefer to use symbolic names for constants, rather than embedding numeric literals throughout my source code ...
I couldn't agree more.
ReplyDelete