What are hard and soft tabs?

Coding StyleTerminologyTabbing

Coding Style Problem Overview


I hear the term "hard tabs" and "soft tabs" (often with much debate about which is better), but what do the two terms actually mean? I am looking for a simple definition of "soft tabs" and "hard tabs".

Coding Style Solutions


Solution 1 - Coding Style

Hard tabs use the tab character, http://en.wikipedia.org/wiki/Tab_key#Tab_characters

Soft tabs are just spaces. Soft tabs are usually either 2 or 4 spaces, depending on convention.

If you set your editor to use "soft tabs," when you press the Tab key on your keyboard your editor will insert spaces instead of the tab character.

Solution 2 - Coding Style

Hard tabs are the equivalent of using the tab key to tab your code while soft tabs are spaces added in to emulate a tab either manually or via a code editor like Sublime Text. There are some who believe that soft tabbing is better for readability for larger teams that use different text editors since some editors will give different spacing for hard tabs, but I think you can use either one as long as you stick to one and use it consistently. In the end, this mostly comes down to personal preference.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKeavonView Question on Stackoverflow
Solution 1 - Coding StyleradiantradonView Answer on Stackoverflow
Solution 2 - Coding Stylegeno_blastView Answer on Stackoverflow