News for hackers. Stuff that matters.
Re:How to Deploy Software by felixmc on Tuesday March 01, 2016 @04:06PM (#11206056)
Would someone mind explaining the argument for spaces over tabs? Possibly naive young dev here.
Re:How to Deploy Software by ktRolster on Tuesday March 01, 2016 @04:23PM (#11206178)
How many spaces do you like to indent your code? Some people like 3 space indentations, some like 8 spaces, and some like 5. It's very personal (but anyone who doesn't use 3 is a reeky brazen-faced mammet).

A simple solution is to use tabs, because then every developer can set the tab distance however they like, and they are happy. It breaks down when you have code that is aligned beyond the indent, like this:

  if(a && b &&
     c && d &&
     e && f   ) {
In that case, increasing (or decreasing) the tab distance will ruin the intention.

The best solution is to use tabs to the point of indentation, and then spaces thereafter, but a lot of code editors don't support that, so in practice it's hard to implement, so people use spaces to preserve their formatting when it gets uploaded to github.

Re:How to Deploy Software by collyw on Wednesday March 02, 2016 @01:17PM (#11211801)
Mixing sounds like the worst option.Its what has cause horrendous looking code in the past when you open someone elses code and they are mixed.

Python and spaces for me.

Re:How to Deploy Software by ktRolster on Thursday March 03, 2016 @09:41PM (#11221708)

  > Python and spaces for me.
Sounds like you are a very open-minded individual. Not.
Re:How to Deploy Software by collyw on Monday March 07, 2016 @01:36PM (#11240576)
I say this from experience, not narrow mindedness.

Open a file where it is all spaces, and it looks the same on every machine. Open a file with a mix of spaces and tabs, and it often turns out an absolute mess.

Re:How to Deploy Software by pcora on Tuesday March 01, 2016 @08:17PM (#11207512)
OMG! 3 spaces? EVEN number? 2 or 4. Never even.
Re:How to Deploy Software by ktRolster on Wednesday March 02, 2016 @12:05AM (#11208191)
You sir, are a reeky, brazen faced mammet!
Re:How to Deploy Software by xorcist on Tuesday March 01, 2016 @05:01PM (#11206463)
Short version: spaces doesn't break over time.

Longer version: First understand that there is no tabs vs. space. There is only tabs + spaces vs. only spaces. (Because not all indentation line up with tab spaces, and someone may wish to line up assignments, lists, etc.) Only one developer in the history of your project that uses another tab stop standard is then enough to mess up your indentation. And that's just one way to mess it up, in a sufficiently large project some creative developer will find another.

Spaces just work and ensures your guidelines are followed. The only downside is a few wasted bytes. It might have been a religious debate in a long distant past when someone actually counted bytes, but today it's mostly young developers who don't know better who engage in it (with a few exceptions). Linus uses spaces. OpenSSL changed to spaces as part of cleaning up their codebase. It's the default behaviour of GNU indent. It is a good idea.

Re:How to Deploy Software by cortesoft on Tuesday March 01, 2016 @07:30PM (#11207334)
Right, but how many spaces?
Re:How to Deploy Software by collyw on Wednesday March 02, 2016 @01:26PM (#11211858)
4
Re:How to Deploy Software by slavik81 on Tuesday March 01, 2016 @05:27PM (#11206631)
Spaces always have the same width, so it's harder to screw up formatting and easier to enforce stuff like maximum line width.

Tabs width can be set to whatever you want, so everyone can use the spacing they prefer.

Re:How to Deploy Software by sdegutis on Tuesday March 01, 2016 @04:09PM (#11206073)
Spaces work better with my preferred IDE setup. Therefore spaces are inherently and objectively superior to tabs.
Re:How to Deploy Software by andrezsanchez on Tuesday March 01, 2016 @04:23PM (#11206176)
I personally like the idea of tabs better, but prefer spaces because it makes navigating the text less awkward when traversing tabs. It may sound stupid, but for my own stuff it's just more comfortable.