Writing Code for the Next Person
Tabs vs. Spaces
Way back at the beginning — long before I or most of you reading this were born — tab characters were used as a means of indenting code on the screen. The reason is that a tab character takes one byte of memory, whereas each space takes a byte of memory. The tab was defined as indenting eight character positions, so using spaces to indent vs. a single tab character was considered to be a pragmatic choice in order to preserve previous storage and memory.
As the years passed, people began to transition from using the tab character to using spaces. As mentioned above, the default indentation width moved from eight character positions to four almost universally. For a while, though, there were some who firmly clung to the use of the tab character even though there really was no reason. After all, storage space and RAM became relatively cheap. In fact, the code is usually insignificant in size relative to a computer's storage or RAM.
I still encounter code from time-to-time using tabs, but the practice needs to end. One of the really annoying thing about code with tabs in it is when somebody starts working on that code without realizing it used tabs. It results in an absolute mess. Fortunately, tools like vim can make it trivial to remove or add tabs, but at this point there really is no good reason to use tabs. So don't, unless the particular language calls for it (some still do).