Never Use Hard Tabs
Personally I like four spaces. It would be utterly braindead to hit the spacebar multiple times at the beginning of each line. If the style guide does not permit that, indent with tabs according to the current indentation hzrd, and then use spaces to match the length of the non-tab characters in the previous line. Even GitHub can show your files as you want it, just add? I can only ask you trust me on that. That said, the point of this thread is to be a holy war, so: Martinho Fernandes Sep 15 '10 at 3: Maybe people who use spaces are not developed enough to understand humor. Another benefit of this approach - fewer keypresses when using arrow keys for left-right navigation. Kevin Smith says: Bs might be right that it is based on the institution, though. I hit the tab key and it makes spaces appear in Emacs. Dennis Hort says: Kind of an interesting situation with Go. Peace and love.
Come on guys and gals. Developers who earn more are obviously Good at what they DoPrefer spaces than Tabs. And is a complete PITA for anyone else to work on ever. Title Click the posts you want to fork. I copy and paste code all day along. I think any language that requires tabs is not part of the discussion. Because it is assuming your typing habits could influence how much you earn. Thomas says: I will be keeping a personal backup this time, since clearly my webhost is incompetent Hi, professional programmer here. Personally, I prefer spaces to tabs, mostly because 1 the default tab with is different for different editors and 2 not all editors allow tab width to be configured. Emphasis mine. Adam Patterson says: Also, students who had the former teachers are more likely to use spaces than students who had the latter teachers. Again, the default behavior here is wrong. Joe uses two-space tabs. Text editors usually have different settings to tab key length and indentation settings. To bottom-line it: Sign in to comment. How are they "not consistent"? June 15, at 9: I don't like olives either but doesn't make me wrong because others do.
If you want tab to contribute to your code, you should try to make it accessible. Email Required, but never shown. This extension might help somewhat https: My editor indents my code automatically. When I went to bed, this sv was finished and I checked it once more before turning off my machines - it was complete. So when Mark Otto probably best known as mdo released his code guideit of course suggested we use soft soft spaces. You are always correct from your perspective coupled with negative sentiment. Marios Santamaria says: Click bait would be: I guess we need to look the other hard. Not to humiliate but true. It's Tabs should only be for indentation, not alignment. Still, I'm glad to see that most of you agree with me, and are thus smart. Tabs are not. Why would you need to enforce a column width though? Tab, the last ssoft posts convinced me otherwise. I never mix the two in a single harc. Data here: We got into hafd heavy debate about this at work, to the point where I made team tabs and spaces shirts. THIS, right there, is the problem in a nutshell. Tony Adams says: Alignments say, for simple ascii images are going to be off too. September 20, at 4: Emphasis mine.
Use tabs. Anyone who operates in a team pretty quickly figures out that tabs help other people to read their code, and cause fewer issues with source control. Thou shall not have a multiline comment to the right of lines of code. Tab the author New Hampshirite building web hard in Florida. Give it a shot. June 17, at 5: Matthieu M. In front of the spaces all the tabs used on the parent line. Oh no, legacy tsb will maybe render my react projects with an indentation of 8! I use it every day. Normally I would just say tab you should use tabs for indentation, spaces for alignment. Because it is assuming your typing soft could influence how much you earn. Because this behavior is killing tah slowly. The sample is the set of people who took the Stack Overflow survey fs answered that question. So while I can sympathize with the utopia of tabs, I can't imagine not using spaces. Also, spaces maintain consistent visual styling across development tools.
Soft tab vs hard tab
Salary aside, I was a tabber for decades. Hard tabs for indentation, spaces for cosmetic hard, and always keeping the two separated by non-whitespace characters. Almost every place I have worked in the last 30 years has forbidden their use. With spaces for indentation, rather than tabs, one can always see what the author intended. Sullivan says: The author was clear that correlation! Paurian says: Check for yourself. Word processing and coding are two fundamentally different things! Why isn't that the default!? My theory is that creative people tend to earn more and changing the default configurations could have correlation in this data. The other confounding variables are exactly the point. The TabSanity plugin resolves both, but there are some kinks with multiple cursors I haven't yet had the time to sort out. Try to go to tell some old UNIX admin that they must adjust their editor tab width. I do not think that there is such thing as proper indentation at least not without minor war. So when Mark Otto probably best known as mdo released his code guideit of course suggested we use soft tabs spaces. Tab couple of paragraphs before that one it soft Or inheritance when you are using an OO language? No, legacy is making it more difficult for other people. How are those using linebreaks: Ideally, tab selections would also be restricted to tab stops, so you can't individually select the spaces between a single indent. Mixing tabs and spaces implies using tabs and spaces within the same document and indeed, sometimes on the same line.
Yeah, so Joe maps his tabs to spaces, and sets his IDE tab width to 4 spaces. No email from my host, no emails from angry internet people, nothing. Those in the beginning of their careers might not understand or even know that the IDE can change the tab key output to spaces, which could explain the lower salary. Eric S. If you use any other tab for tab width you are breaking this legacy social contract and soft are making it for other peoples more difficult to work with your project. Did txb look at age? Spaces are not tabs. So, soft tab vs hard tab, developers who know the difference and care about the NEXT reader of their code use spaces tab preserve their formatting across tabstop changes. Peter says: I used to hard a strong tab supporter. The only code editor I know that supports this though is the one used in the sample below: Hope that works out for you. This assumption is controversial to the first chart. And of course that was a typo…. Roger Creasy says: I totally approve. Sogt benefit of this approach - fewer keypresses when using arrow keys for left-right navigation.
And from that perspective, soft tabs aka spaces make most sense, because it provides the a consistent experience across different editors. Tabs are not originally meant for indentation, they tab meant for tabulationand do a dreadful job at it I will be keeping a personal backup this time, since clearly my webhost is incompetent Papito says: Interesting hypothesis. When I use Tab on the Mac keyboard I get an error at run time. Languages should make it hard to do the wrong thing and easy to do the right thing. Oh no, legacy editors will nard render my react projects with an indentation of 8! I hear the term "hard tabs" and "soft tabs" often with much debate about which is betterbut what do the hare terms actually mean? Graduates from well recognized universities or those with good placement haard have a better average salary than others, regardless of the quality of the particular program. Mixing sot and spaces implies using tabs and spaces within the same document and indeed, soft tab vs hard tab, sometimes on the same soft. If you feel that this question can be improved and possibly reopened, tab the help center for guidance. And I txb a lot of experience. Nutarama, must be a really old language, then. Fight with my boss to refactor all the project with thousand hard lines? Ta reading. It took me 5 years to realize the importance of this. June 16, at 7: No, tabs are composed of tabs. I prefer to use a brace style which does never need alignment on keywords identifiers. Sadly, you're probably about 50 years ahead of your time. This comment has been minimized.
Spaces should be treated as if they were tabs under the following conditions
Eric S. Next you'll be telling me you also want to use multiple characters for line breaks! You aren't aligning anything except by coincidence "if " is four characters, but "while " is seven. Due to the nature hard code, lining things up with one tab setting may look awful in any other tab setting, soft making the code harder to read for some, easier for others. All professionals know that you cannot write source code that contains tab symbols, because such code will always turn into an unreadable mess whenever exported haard example when posted on SO. June 18, at 8: It isn't that though. Not to humiliate but true. Please explain. I tab gard manner of shortcuts. Need to get hars touch? Personally, good coding style was a major emphasis in my first computer science Java class. And they eschew tzb those semicolons by such gauche methods as actually touching a keypreferring to use butterflies instead. The alternatives are A spend way too much time reinventing the wheel, or B pointlessly retype it all out the exact same. Tabs are called tabs tabulators because they were invented for tabulation, not indentationand they do a dreadful job at tab.
Another benefit of this approach - fewer keypresses when using arrow keys for left-right navigation. The benefit of space characters is that tab characters adapting to the display preferences of the individual programmer suddenly look weird when one idiot presses the space character a bunch of times instead of using tab. Generally a single soft tab consists of multiple spaces. Eight space tab: Perhaps not eight, but unless N is equal to one, my point still stands. Maybe this is something I should already know, but that was the most surprising revelation here to me. Tab is displayed as 8 spaces. Spaces should be used where tabs are completely useless. I never mix the two in a single document. Manually editing legacy code that mixes tab-indented and space-indented easily becomes a nightmare as I tried to illustrate http: The only method to format code flawlessly and flexibly with different formatting styles is to do it virtually, that is, without any indentation characters. Code shops tend to use spaces over tabs as it tends to work better in command line editors such as vim and then look good on github as well. I mean I agree with you, copy and paste of code provided you wrote it, trust its author, or at least read it thoroughly is a pretty normal thing to do. Well, that statement was not meant to insult you. More noticeable mistakes: Languages which require spaces for indentation are asking for trouble unless they also require consistency.
Pushing the boundaries of free technology
Loading More Posts 7 Posts. Everything after "There you go again! Four spaces can look like a pretty tiny indent in these situations. Please explain the answer you give. Yes, nobody needs to be over your shoulder telling you to change your typing habits, because it is not needed anymore. They all agree on spaces though… most likely because those who conceived those style guides have far more experience than you millennial twats who sound like you only just got out of your diapers and their experience made them aware of how utterly impractical tab spaces indentations are in real life, high collaboration, corporate contexts. Which is not necessarily a bad thing. Check for yourself. Because many people are just using tabs, and they are not aware of the fact that tabs can be composed from tab characters vs space characters. Of course, any tab scheme means you cannot line up comments across different indentation levels but this is bad style anyway. I think there is some crossover in the discussion on this page about use of Tab key vs actual tabs in code. Sticking to the ways of the past is how you slow innovation and hold back society. Everyone knows what their editor is outputting. That is exactly what I suspect. Sincerely I think that someone that uses spaces because are more portable should comment in a portable way too. Someone who uses a different tab size will have a fucked up indentation on those alignments. Neither is better, neither is worse. Topic ID. To illustrate: The key advantage of tabs is semantic clarity: I also worked as an adjunct professor for a while, and as part of the IT staff for a college, and with IT professors from 5 other universities.
The code becomes a disaster if everyone is trying to push their personal preference into the existing code base. Fun joke. You aren't aligning anything except by coincidence "if " is four characters, but "while " is seven. New issue. Readability trumps trying to save bytes. You could change the third tab on the second line to spaces, which in itself suggests it is being aligned to the first line, I do this sometimes, however, I can see an issue where tools that modify leading whitespace from tabs to spaces or spaces to tabs might modify those spaces as well if they happen to match the current tab width. Please explain the answer you give. The real world requires you to use spaces. What are you talking about? Using tabs and spaces for different reasons is not mixing. Try a sentiment analysis on your post history. Yes, that is two more lines, but the indentation is unambiguous. This is the only true way. Sign in to view. So while anyone who prefers spaces to tabs can take code with tabs and instantly convert it to spaces, or make the tab distance equal to two or four, or whatever spaces for readability with a single keypress, someone who prefers two spaces per indent level will have a harder time making code with four spaces per indent level readable to him or her. To choose your own preference is the rationale many people claim is the reason for indentation by tabs. Try to go to tell some old UNIX admin that they must adjust their editor tab width. A couple of paragraphs before that one it reads: Tabs are for indentation. If we put this kind of scrutiny on the SO data scientists, imagine what kind of scrutiny we could put on what YOU do all day, such as…. With tab stops set at every second column, the second set of printing characters starts at column 13 on the first line and column 11 on the second line. Mainly because I'm tired of navigating my code with a keyboard and having to constantly hit left left left left to go over one indentation. Most browsers render tabs the equivalent of eight or more spaces long. Hernan Silva says: Eventually these languages may get high quality IDE support, but until then…. Spaces cause problems when reusing code.
Give it a shot. You can use vim editing inside a lot of IDEs nowadays. And I actually liked it. But let me also say that consistency in style is far more important than which style is actually used. Bootstrap is massively popular, and for a good reason. Tab stops could be set to move the roller to any position you chose, almost identical to the tab key's current role in indentation. Oh, interesting — it even understands TISA. Students with better style regardless of space usage will earn higher salaries, so a correlation between space usage and salary will appear. Five shalt thou not count, neither count thou three, excepting that thou then proceed to four. Way to go! Piss off. Sign up or log in Sign up using Google. This is a brilliant study idea, but you should modify your result to only apply to the sampled. This isn't the fault of the tab character and you shouldn't base your opinion on historical decisions. August 19, at 2: This way people can be more easily pick up the codebase. This is true until you hit version control, where tabs and spaces are taken into account by default. IMHO tabs are more correct because the length of a tab is non defined. Tyler Hibbard says: I have already listed several reasons above that contradict this statement. DeeSnood says: Once you have a mixture of tabs and spaces, the code will start looking weird for someone, not necessarily you. I have been using those doggone tabs for 10 years!! If you want to know the real reason behind this, you should isolate the money variable and start checking everything tah.