Penguin

Differences between version 7 and predecessor to the previous major change of TabStops.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 7 Last edited on Friday, November 7, 2003 3:57:45 pm by AristotlePagaltzis Revert
Older page: version 6 Last edited on Tuesday, November 4, 2003 9:37:19 am by PerryLorier Revert
@@ -1,30 +1,46 @@
-Ok, I'm ( PerryLorier) going to start a ReligiousWar.  
+!!! PerryLorier and his ReligiousWar 
  
-Tabs should be 8 characters and no correspondance shall be entered into. 
+Tabs should be 8 characters and no correspondance shall be entered into. While that's stupidly wide, at least it's a standard. There is absolutely nothing worse than opening a file and having it look like it was formatted by a two year old chimpanzee on crack
  
-Why? Because while 8 characters is stupidly wide, at least it's a standard. There is absolutely nothing worse than opening a file and having it look like it was formatted by a two year old chimpanzee on crack.  
+!! But vim/emacs support mode lines so you can see which tab width you use!  
  
-!But vim/emacs support mode lines so you can see which tab width you use!  
 Except that 
 # they don't agree on the syntax, so you need two sets of modelines, one for each application 
 # grep/patch/diff/sed/lpr/less don't read modelines. 
  
-!You can run things through a preprocessor to convert tabs to the correct number of spaces!  
-if I "convert" a diff, then it's not going to apply as a proper patch anymore. If I expandtabs on a Makefile then suddenly it's got a "missing delimiter". If I expandtabs on sendmail.cf my mail is no longer delivered.  
+! !You can run things through a preprocessor to convert tabs to the correct number of spaces! 
  
-!You can tell vim/emacs/etc to always expand tabs to spaces  
-Then backspace for unindent doesn't work, it removes one space, not one tab
+A converted diff does not apply as a proper patch anymore. A converted MakeFile bombs out due to a "missing delimiter". A converted __sendmail.cf__ means no mail is delivered
  
-!But they push my code too far to the right  
-Then your logic is too complicated, go break it into another function to simplify it.  
+!! You can tell [Vim]/[Emacs]/etc to always expand tabs to spaces  
  
-The correct answer is to use 8 character tabs. Sure they are wider than they need to be, but they ''work''. Anyone who tries to tell you that tabs should be whatever else they feel like (2? 4? 5? 6?) needs to be shot. Especially if they ever think that their code is going to be viewed by anyone else, so unless you are writing a proprietary program and never planning on giving the code away or ever showing it to anyone, DON'T CHANGE THE TAB SIZE.  
+Some people may tell you to do something like 
  
-''It is a good idea to point out that when pressing Tab Vim can actually insert X amount of spaces for you. For example, try typing:''  
  :set tabstop=8 
  :set shiftwidth=4 
-''This means that when you press tab you get 4 spaces.'' -- SamJansen  
  
-Yeah, then backspace doesn't work. Just don't change it, 8 charactor tab stops!  
+in [Vim] (and analogous in [Emacs]). Backspace for unindent doesn't work anymore then. You remove one space, not one tab.  
+  
+!! But they push my code too far to the right  
+  
+Then your logic is too complicated. Break it into another function to simplify it.  
+  
+%%%  
+  
+The correct answer is to use 8 character tabs . Sure they are wider than they need to be, but they ''work''. Anyone who tries to tell you that tabs should be whatever else they feel like (2? 4? 5? 6?) needs to be shot. Especially if they ever think that their code is going to be viewed by anyone else, so unless you are writing a proprietary program and never planning on giving the code away or ever showing it to anyone, don't change the tab size.  
  
 Of course, if everyone just used python then it wouldn't matter. 
+  
+!!! Meanwhile, AristotePagaltzis rests in nirvana  
+  
+You can use 4 character tabs and feel fine all along. More importantly, so will the people who open your files.  
+  
+The key to this state of mind is simple: __''don't use tabs ANYWHERE but the beginning of the line!!''__  
+  
+Well, people ''can'' throw a monkey wrench in this scheme if they use overly smrt(sic) editor( setting)s so tabs are used for 8 character gaps and spaces create smaller indentations. Unfortunately, way too many people think this is a good idea and way too many tools support and even suggest this style. This is utterly stupid.  
+  
+__ONLY use tabs to indent. %%% ONLY use tabs at the beginning of a line. %%% ONLY use spaces to line up things in the middle of a block.__  
+  
+Then you can choose your tab width whichever way you like and noone will ever be the wiser from looking at your files.  
+  
+Have a nice day.