back to article We're going to have to start making changes or the adults will do it for us

Gentlemen of IT, I think it's time we talked. I hate people who use spaces to indent their code instead of tabs. I don't mildly dislike them. I am not uncomfortable or annoyed by them. I hate them. A goodly number of you have some technical pet peeve that is similar, and that's a huge part of what's wrong with IT. This is not …

  1. Anonymous Coward
    Anonymous Coward

    Tabs vs spaces is fairly important. It should be part of the coding standards at a company. Which is chosen doesn't particularly matter, but that one is chosen is.

    So is variable naming, function naming, class naming. All personal preferences, but if there isn't a system, it's chaos.

    ( I prefer tabs, because I'm normal, but if I worked somewhere that mandated spaces, then fine )

    1. Anonymous Coward
      Anonymous Coward

      TAB treachery

      I used to prefer TABs, but one day I tabified a file and the regression tests started failing because Emacs had replaced some of the spaces inside a string literal with TABs. At that point I saw the light and switched allegiance.

      What I really hate is trailing spaces. Fortunately, git has a nice facility to discourage people from committing them.

      1. Peter X

        Re: TAB treachery

        Reading the article I was thinking, "yeah, but now I'm older I'm much more easy going about such things". But then you mentioned tailing spaces... and I don't know why but they *REALLY* irritate me.

        These days my .vimrc contains this:

        match ErrorMsg '\s\+$'

        to highlight trailing white-space, and all is good with the world!

        Rationally, I should not care about this. Yet I do. It's really strange and I'm fairly sure no one outside of IT could possibly understand this.

      2. Michael Thibault

        Re: TAB treachery

        >replaced some of the spaces inside a string literal with TABs

        Why would you have multiple consecutive spaces in such a string to begin with?

    2. Anonymous Coward
      Anonymous Coward

      The problem in IT is the anarchic attitude...

      The problem with many IT people is exactly the anarchic attitude. Regardless of what you think is better, you have to adapt to (and adopt) what the environment you work in requires. There could be reasons, behind rules and standards, you can't see, but are there because someone looking at the overall picture found they are needed.

      You may propose changes, but if they aren't adopted, you have to adapt to existing standards - as it happens in any other discipline (or the results are usually the Mars Climate Orbiter ones).

      But still you can't find a not so small number of IT people that stubbornly refuse to follow the rules, and when requested to do, feel it an insult. And sometimes it really looks to deal with children or anarchists. And the worst ones are usually the one who attempt to escape any responsibility...

      1. Brewster's Angle Grinder Silver badge

        Re: The problem in IT is the anarchic attitude...

        "There could be reasons, behind rules and standards, you can't see, but are there because someone looking at the overall picture found they are needed."

        Experience suggests rules long out-last the reasons for them being there. But emotional attachment and institutional inertia prevent them being changing. ("Look, I wrote the rule. This is the reason I wrote it. We no longer need it, in fact it's counterproductive, and we need to do away with it.")

        The other day somebody posted a link to this brilliamt article about managing geeks The geek aversion to rules is generally an example of geeks working round performance inhibiting damage.

        1. Doctor Syntax Silver badge

          Re: The problem in IT is the anarchic attitude...

          "Experience suggests rules long out-last the reasons for them"

          I've thought for a long time that a rule should be accompanied by its rationale. That way (a) PHBs & CxOs who wish to override them can be made aware of the risks and (b) it's possible to see when changing circumstances remove the rule's reason for existence.

          1. Terry 6 Silver badge

            Re: The problem in IT is the anarchic attitude...

            When they say or imply "That's how we've always done it." That's not just an IT thing. It's definitely common in offices and I'm guessing lots of other workplaces.

        2. Anonymous Coward
          Anonymous Coward

          Re: The problem in IT is the anarchic attitude...

          Yet sometimes those rules are laid down by other geeks who are real experienced ones and not inexperienced wannabes - and there are very actual, valid reasons behind them. The idea than *any* rule is wrong is childish, and dangerous.

          Don't get me wrong - there are very bureaucratic outdated environments which are toxic, but there are some so "creative" that they become unproductive and toxic as well.

          And there's always the need to play along and nicely with others, even if you may not like them personally - otherwise the environment becomes toxic as well.

    3. streaky
      Coffee/keyboard

      Tab v space is a huge issue because it belies fundamental logic failures that are at the core of the way a percentage of code monkey brains operate. I won't tell you which way you should go but it should be obvious to anybody who actually writes code.

    4. Julz

      Tabs vs spaces is not important. Scripting languages and data descriptions that are sensitive to white spaces is the real problem. Oh, and one that has been solved and forgotten, and solved and forgotten, and ... for decades.

      1. streaky

        It's *hugely* important. And yes it's been solved, and that's why it's useful for spotting clowns walking through your door.

  2. Adam 52 Silver badge

    M-x tabify surely?

    As for the other stuff, I'll have to start looking for a new job.

    1. GordonD

      Problem with M-x tabify is that it blows out version control, especially when I revert it on next commit (mwahahahaha).

      tabs vs spaces and new line endings are great feuds, and since they can be handled by any decent version control system on checkout and commit, they're refreshingly pointless.

      A proper feud like ICantReadThis vs sensible_naming resists machine sabotage, although there are worrying signs that the poor handling of CamelCase by speech synthesis might result in sanity being restored by the accessibility red card route.

      1. Anonymous Coward
        Anonymous Coward

        In my experience, heathens who use camel case also like to write sentences as their variable names, eg:

        combinedlValueOfAllTransactionsForMonthSoFar

        1. BasicChimpTheory
        2. Dan 55 Silver badge

          I really would love to have sentences as variables instead of the x, y, and z in uncommented 25-year-old code that I'm maintaining now.

          Can't we all just leave our egos at the door and get along together? (And re-educate the people who use spaces, they know not what they do.)

        3. Anonymous Coward
          Joke

          combinedlValueOfAllTransactionsForMonthSoFar

          Well, one of my ex C developer would probably call it cv_atmf... or maybe cv only.

        4. Pirate Dave Silver badge
          Pirate

          "heathens who use camel case also like to write sentences as their variable names,"

          That's because VB doesn't mind long variable names. ;)

  3. Anonymous Coward
    Anonymous Coward

    Starting point: EMBRACE the human factor

    Yes Trev, you know me.

    I have an answer that is simple to state, but takes a lifetime of effort - also known as a commitment.

    Embrace the human in your work. Your job is not just to manage some kit, widen your view to the point of realisation that what you do affects people (you did allude to that, but it must be an integral part of your thinking). People who write UIs should think of their grandparents trying to use their work. People who design infrastructures should keep in mind the NEXT guy trying to manage it (slight aside: we are in the process of implementing a mandatory handover process to test if this is done right because you cannot have a business dependent on one person - I'll get back to that in a minute). People who audit other people's work should realise that they are dealing with someone's daily job and should help that person to enhance and improve that work, not tear it down on minor flaws so they can show they're "better" to sell their consultancy outfit (trust me, I've met enough of those fools, but the guys that work for me do so because they earned both my respect and trust).

    In other words, look beyond yourself, and help others do that too. Upwards, sideways, downwards. The tabs thing? Well, that's just a REGEX search & replace away from a fix, and a good debate over beer ought to clean this up - learn the difference between an argument and a debate (for fun, take the OTHER side of a viewpoint under discussion - trust me, it's interesting). (Re)Learn tolerance and cutting other people some slack - realise that the black-and-white approach is a result of media induced training to sell ads, not a natural social mode of behaviour.

    Yes, I know there are a lot of managers out there and precious few leaders, but it's not about what they do, it's what you do with and to others. If you're the sort of political, backstabbing climber who has no problem tripping people up for gain, trust me, if you try to get into my crew your reputation and your own habits will get you ejected before you make it past the first month. If you're the sort of boss who needs slaves and despot-like behaviour to run your operation, you do not deserve the best, because the best can and will walk, and you will forever have to watch your back.

    And you want to be the best (never assuming your ARE is part of that, by the way, I alluded to that in another post :) ).

    I know it's fashionable to squeeze the last erg of effort out of people in the age of the spreadsheet, but that's for idiots who do not plan long term. I run my setup in a way that makes every person replaceable, including me. Why? Because it means people can get ill and go on holiday without the fear that the world collapses behind them - they know others (and their boss) have their back rather than stab it. Because it makes good business sense to have people who like where they work because, quite simply, THAT is the right way to get the best of people.

    Of course, this has to go together with a HR process that filters out the idiots, but if you've been doing this for a bit you know that what the likes of Lord Sugar and Orange Trump show as a business is for megalomaniacs. It can be done differently - usually better.

    You can run a business without fear. And if you manage that - you will be feared :).

    (slightly rambly, but I'm going to leave it as it is lack of structure and all :) ).

    1. Mark 110

      Re: Starting point: EMBRACE the human factor

      If you need a hand with that mandatory process give me a shout. I'm available currently. We can just copy and improve the one used at Unilever.

      1. m0rt

        Re: Starting point: EMBRACE the human factor

        "Well, that's just a REGEX search & replace away from a fix"

        But which REGEX standard, though?

        I like Trev. He is my kind of people. I can identify with a lot of things he says. I once worked for a guy who insisted that I put 25 blank lines in java code, after every 25 (or something like that, you get the idea) lines of code because it meant that when he used textpad to view the code he just had to press page down and it was all nice for him.

        I refused and promptly installed IntelliJ at the time.

        these things, ultimately, don't matter if the code is well written and there is a sensible standard adhered in the company. But we all have our fixations. Me? I hate the term 'Artificial Intelligence' because it doesn't mean what people thinks it means. I also hate unhandled exceptions. Justin Bieber. Long rambling posts that go nowhere and don't stay on topic. People who never finish what they st

      2. Anonymous Coward
        Anonymous Coward

        Re: Starting point: EMBRACE the human factor

        If you need a hand with that mandatory process give me a shout. I'm available currently. We can just copy and improve the one used at Unilever.

        We're a few months from completing, for a simple reason: staff. Getting the right staff for a role is only easy if you see them as numbers. The moment you recruit people to keep them (discounting churn etc) it gets a bit more complex because you then have to look at the human, not at the CV. Provided there's some talent, you can fix a lack of skills but you can't always fix attitude..

  4. Anonymous Coward
    Anonymous Coward

    Ok, so...

    how wide should tabs be...?

    is 8 too wide? should they be 4?, 2?

    ...3?

    You don't want to be forced into spaces, but aren't you forcing people into tabs.?

    because a mix doesn't work.

    personally, you always know where you are with a space, and a good editor makes it easy to align things.

    1. Anonymous Coward
      Anonymous Coward

      Re: Ok, so...

      Four. Obviously.

      And if you aren't lining things up for aesthetic reasons, people can set their own tab width.

      1. PassiveSmoking
        Happy

        Re: Ok, so...

        You're all mad.

        It's quite clearly five spaces per tab.

      2. Anonymous Coward
        Anonymous Coward

        Re: Ok, so...

        Sorry, but the indenting width can be quite language specific. There are languages which uses only two spaces indents, for example. And when people are allowed to set their own tab width, you're going to play with fire.

        Anyway, what is important is to set a standard and stick with it. If the standard is based on the language default standard (i.e. PEP8 for Python), the better. Better chances your code will look alike third party one.

        1. Anonymous Coward
          Anonymous Coward

          Re: Ok, so...

          Sorry, but the indenting width can be quite language specific.

          Exactly. Once upon a time I wrote in OPL, and the whole operating environment made indenting code with more than two spaces just not very usable. A text window of 20 characters by 4 lines just isn't the right place to have 8 space wide indents :).

          Personally I prefer a tab being represented as 4 spaces - it's enough to make the blocks visually stand out, but not so large that a line runs off the screen (I don't like wrapped lines as there's too much potential for error).

    2. ToXik-yogHurt

      Re: Ok, so...

      "how wide should tabs be...?"

      As wide as you set your editor to display them. 1 level of indentation is 1 level of indentation, not 4 spaces or 8 spaces specifically.

      1. GerryMC

        Re: Ok, so...

        Sepend on the language of course. a 4 space indent in Pascal looks hideous. 2 in C# looks bonkers. Tabs are for people who can't make up their mind.

        (Note: using tabs is almost unheard of in my most common language (Delphi). I know of no third party code, FOSS or commercial that uses them). Perhaps I should use the troll icon?

        1. Steve Davies 3 Silver badge

          Re: Ok, so...

          Er.... ???

          Isn't Delphi just Pascal on Steroids?

          Sometimes you have to replace tabs (no matter 1,2,4 or 8 spaces) with a single space.

          For example when putting code samples in Documents. you have a limited with and even with 8pt font you get word wrapping which makes readability a PITA.

          Just saying...

          As for line endings they should be...

          Octal 15, 12

          {If you are an old Fogey like me, you will know what systems used those lines endings}

        2. Anonymous Coward
          Anonymous Coward

          Re: Ok, so...

          Sepend on the language of course. a 4 space indent in Pascal looks hideous. 2 in C# looks bonkers.

          Since your argument here is solely about looks, would you therefore agree that the "best" indent width is entirely subjective? That is to say; differing from one person to the next?

          Tabs are for people who can't make up their mind.

          My position is that tabs are for people who don't want to force their own subjective aesthetic preferences on others.

          1. Mr Flibble
            Mushroom

            Re: Ok, so...

            Tabs for block indentation. Spaces (after the block indent) for indentation within a multi-line statement. That way, you get the flexibility of however wide you want your tabs to be today without messing up intra-statement alignment.

            Two-space indents? Been there, done that. Was useful where I used it.

            Now, the pet hate: people using four spaces just because the tabs happen to look like four spaces. I normally have tabs set to every 8th column, but I will sometimes switch to every 4th. That shows quite nicely where the bad indentation is.

    3. David Harper 1

      Re: Ok, so...

      Every line of source code should begin with six spaces, as the venerable and wise John Backus taught us almost sixty years ago. Except for comments, which start with a 'C' in column 1, or continuation lines, which have five spaces, an arbitrary character in column 6, then the rest of your statement from column 7 on.

      1. Little Mouse

        Re: Ok, so...

        "Every line of source code should begin with six spaces"

        Nononononono. Every line of source code should begin with a number. As in:

        10 PRINT "(.Y.)"

        20 GOTO 10

        30 REM Happy days....

        1. Michael Thibault

          Re: Ok, so...

          This is for those occasions when you spill the tray and have to put the program back together? If so, good thinking.

      2. Red Bren
        Trollface

        Re: Ok, so...

        If you cant write all your code on a single line, you're not trying hard enough. And don't give me that nonsense about making it easier to debug; you shouldn't be writing buggy code in the first place!!!

      3. Steve Davies 3 Silver badge

        Re: Ok, so...

        Ah, the memories of punched cards.

        Thanks.

    4. John Sager

      Re: Ok, so...

      My .indent.pro file says '-linux -i2'. 8-space indents are too wide for anything that has much in the way of block nesting. Now you could argue that deep block nesting is bad coding practice, and I tend to agree, but I still read (and sometimes hack on) existing code that had weird or no coding standards applied. As for spaces, my editor of choice (nedit) puts tabs in automatically after it gets to 8-space indent. I don't care. indent will prettify it and the compiler doesn't care.

    5. MJI Silver badge

      Re: Ok, so...

      My personal rules.

      The older system using text files was 2 spaces

      Current system with IDE a tab of 4 spaces

      Both are start at the left rather than indented, use mixed case for legibility

      And most importantly EVERYTHING IS COLUMNISED.

      If the := are not lined up there will be hell to pay.

    6. J.G.Harston Silver badge

      how wide should tabs be...?

      7 for the first column, then 8 for the next nine columns, then zero for each subsequent column (you know who you are).

  5. Denarius
    Thumb Up

    deep thought there

    However, to become an adult one still has to deal with the bullies who seem to have become HR or managers of the PHB kind. And worse, proud of their ignorance. My solution was to become somewhat literal minded. PHBs tend to feel control slipping when their words are taken at face value IMHO. Your mileage will vary.

    However, I disagree its just geeks who fight over trivia. The whole race does it, whether over some variation to barely understood words uttered millennia ago to the pronouncements from on high by newer priesthoods. Transhumanists, misotheists, economic rationalists and other feral utopians come to mind. In short, there are no adults.

    1. J.G.Harston Silver badge

      Re: deep thought there

      "The whole race does it, whether over some variation to barely understood words uttered millennia ago"

      Whole wars fought over a single speck of fly shit that changes "Jesus was born formed as a human" to "Jesus was born in the form of a human"

    2. Mark 85

      Re: deep thought there

      On trivia.. I note that the first 30 some comments are trivial... about Tabs vs. Spaces.

      I believe Trevor is dealing with his inner demons. We all have them. For many of us, we end up doing something useful like IT. There's the few that totally scary and end up as politicians.

  6. Geoff Campbell Silver badge
    Boffin

    Well, to a point...

    The basic analysis seems spot on, although I don't think there will be any awards handed out for deep new insights as a result.

    But if we change, what then? I'm good at what I do *precisely* because of the psychological damage inflicted in earlier life. Write me out of the script, or force me to change into some touchy-feely advocate of technical excellence by consensus vote, and all my hard-won and passingly valuable skills of in-depth analysis and abrasive truth-telling based on empirical evidence disappear.

    Let's face it, deep technical IT skills are pretty much diametrically opposed to good people skills. And you know what? I'm comfortable with that.

    GJC

    1. Anonymous Coward
      Anonymous Coward

      Re: Well, to a point...

      Let's face it, deep technical IT skills are pretty much diametrically opposed to good people skills. And you know what? I'm comfortable with that.

      It's not an either/or mix, they're opposite ends of the same slider. The higher you get up the org chart, the more the slider needs to move towards the "people" side, but if you have managers and beancounters heading the company rather than leaders you have the sort of cultural problem you get at old institutes.

      1. Terry 6 Silver badge

        Re: Well, to a point...

        Managers should have good people skills. Beancounters and technocrats get promoted to management jobs sometimes because they're good at their technical jobs, often because they are mildly better at people skills than the competition (and the suspicion at least is they're less good at the technical stuff - pointy haired boss).

    2. Anonymous Coward
      Anonymous Coward

      Re: Well, to a point...

      @GJC

      > deep technical IT skills are pretty much diametrically opposed to good people skills

      Not necessarily. A good junior programmer that we hired 14 years ago has just become the CEO.

      It's just that those of us who are some flavour of aspie the tech skills are a major part of our identity because - at least in my case - the people skills are pretty poor.

      But actually I enjoy working in a team - as long as it is a bunch of switched-on techies - and in that kind of environment one does get to respect team-mates for what they do well - even if differently from the way I'd prefer to do things.

      When it comes to non-techies I let my wife take the lead...

  7. Anonymous Coward
    Anonymous Coward

    fleventy-five?

    I see what you did there ... well played sir!

    But, tabs ... seriously?

  8. muddysteve

    Spaces

    I have used both (not in the same code, obviously), and I prefer spaces. Simply because if I use tabs and change editors, then the tabs are usually of a different length, and I don't like that. I like 3-space indentations.

    1. BasicChimpTheory

      Re: Spaces

      How...odd.

  9. Doctor Syntax Silver badge

    Technological evangelism means someone thinks something they are doing is better, and a lifetime's worth of experiences say that on close examination it turns out to be the same old same old gussied up with a new name.

    FTFY

  10. Anonymous South African Coward Bronze badge
    Coat

    For me, 4 spaces = 1 tab...

    ...CSV spreadsheets must use the comma as the delimiter...

    ...and just use common sense.

    Mine's the one with the spare tabs and commas in the pocketses

    1. Anonymous Coward
      Anonymous Coward

      "CSV spreadsheets must use the comma as the delimiter"

      As long as you're not living in a country where the comma is the standard decimal separator....

      1. Justin Clift

        Re: "CSV spreadsheets must use the comma as the delimiter"

        Just to point out, CSV has an RFC: https://tools.ietf.org/html/rfc4180

        It's a total of 8 pages long, with only 3 pages of actual content.

        If you want to use numbers with spaces for their decimal point, you're welcome to. You just need to enclose that whole field value in quotes.

        The only thing not well specified seems to be handling of the word NULL (unquoted). That could be either the NULL value (database style), or the string "NULL".

        1. Anonymous Coward
          Anonymous Coward

          Re: "CSV spreadsheets must use the comma as the delimiter"

          Just, you may need to work with outputs from "programs" or "jobs" (they weren't called "applications" or "apps" yet) made when god slept in times of old, anyway far earlier than 2005 - and that late RFC itself states " there is no formal specification in existence, which allows for a wide variety of interpretations of CSV files".

          Again, as Pott points out, we should grow up and work together to solve problems and make our environments a better place to work, not yell and throw RFCs at each other, and mock those who used a comma as a decimal separator, just because their systems of thirty years ago worked that way...

  11. Destroy All Monsters Silver badge
    Devil

    Hmmm...

    Nothing that a little helping of "gun culture" cannot solve...

  12. analyzer

    tabs vs spaces

    I set my IDE to produce what the customer desires.

    If the customer defines tabs then <TAB> it is ( 8 space equiv )

    If the requirement is a defined number of spaces then the <TAB> gets set to that number of spaces.

    Then I can use <TAB> all the time.

    oh and @ Denarius, yeah, the only way to deal with those PHB buggers.

  13. Wilco

    You OK hon? Really?

  14. IsJustabloke
    Facepalm

    I'm afraid to tell you that....

    Only idiots argue about trivialities such as those mentioned here. I have too much actual shit in my life to deal with without inventing additional stupid shit to argue about.

    1. Peter X

      Re: I'm afraid to tell you that....

      Peter X points at IsJustabloke and declares: "He's a non-believer. Make him use Notepad.exe for all eternity!!!"

      Also... it's tabs btw! :D

  15. 0laf
    Devil

    Hell is a Word documents with mismatched indentation and bullet points that do random things so you can never get everything to line up.

    1. Anonymous Coward
      Anonymous Coward

      Because in a Word document (or any wordprocessor/DTP) you should never, never use "tabs". They are are relic of typewriters. Nor you should use spaces. You should use paragraph properties - and any facility the software has to apply them to same-styled paragraphs.

      But that's another issue with standards - I've seen very few companies delivering proper templates with full styles settings to be used for documents, and training people to correctly use them. Most have an "identity documents" that shows what colors and font(s) to use (at least to avoid Comic Sans), and everything else is left to the appalling skills of office software users....

      1. nijam Silver badge

        > Because in a Word document ... you should never, never use "tabs".

        Because in a document, you should never, never use Word.

      2. Chaotic Mike

        ...but what if you just want to tabulate some data, and you don't want to go through the nausea of tweaking a Word table and getting into a fight over column widths, internal spacing, etc.? The decimal and right tabs are also handy, although I admit they don't have a corollary in traditional typewriters. (about 40 years ago I inherited a typewriter that was old even then... there were large metal clips that you set on a long notched bar to set the tab stops. Well actually, I suppose they *were* the tab stops).

        Hey ho, football in the park, jumpers for goalposts, etc..

        1. Anonymous Coward
          Anonymous Coward

          IIRC some mechanical typewriters aimed at financial documents had decimal tabs back then. Some good advices about using tabs today: http://practicaltypography.com/tabs-and-tab-stops.html

      3. Geoff Campbell Silver badge
        Boffin

        Re: Because in a Word document (or any wordprocessor/DTP) you should never, never use "tabs"

        As with all such definitive statements, that's not entirely true. Certainly tabs are much overused for general spacing of paragraphs, for which there are many better mechanisms available using paragraph properties.

        However, tabs do have their place. I use them frequently for laying out headers and footers, for example, where there are typically two or three objects that require placing at left and right margins, and perhaps one centrally.

        GJC

      4. Anonymous Coward
        Anonymous Coward

        Ha Ha. That reminded me of the blue chip pharmaceutical company I used to work for who had proudly protected their logo and official company font (Times New Roman or the pre-computer equivalent) for over 100 years.

        Then team working came along and as all power was transferred to the proles one of the first changes the proles came up with was to switch the official font to Comic Sans (seriously - shop floor staff made the decision). All the SOPs had to be updated accordingly, and many customers - even bigger blue chips from around the world - went ballistic, since they had to update all *their* files with copies of our new SOPs in order to maintain compliance with FDA et al.

    2. Anonymous Coward
      Anonymous Coward

      Hell is a Word documents with mismatched indentation and bullet points that do random things so you can never get everything to line up.

      Fixed it for you. We've been using LibreOffice for 5 years :).

    3. Chaotic Mike

      That would be any Word document, then, even one created from scratch?

      1. Anonymous Coward
        Anonymous Coward

        That would be any Word document, then, even one created from scratch?

        Yes. Because it means you're already running Word, the IT equivalent of walking into prison showers with nothing but a bar of soap.

    4. Michael Thibault

      >Hell is a Word documents with ... random things so you can never get everything to line up.

      That would be the majority, then?

  16. Dazed and Confused
    Flame

    Tab / Space, I can chill

    I tend to use tabs until I've got to many levels of indentation to work properly in a standard 80 character screen. Then I'll switch to 4 spaces.

    But I can cope, it's no big thing.

    BUT WHAT I REALLY CAN'T COPE WITH IS MORONS THAT IMMEDIATELY PUT ANY WINDOW INTO FULL SCREEN MODE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    I JUST WANT TO SCREAM

  17. SW10

    because I am viscerally terrified that, somehow, he will force his space-indenting ways on me.

    The terror is surely that he will force his space-indenting ways on others, leaving you outnumbered and outvoted once the companywide space-or-tab standards policy is put forward for debate.

    1. Trevor_Pott Gold badge

      Since when are all votes cast equally? And the mechanism by which they manage to force tabs on me is somewhat irrelevant. The end result is what I fear, not the means.

      1. Anonymous Coward
        Anonymous Coward

        You should fear the means, too, as it becomes an entrenched part of the culture in which you're operating; if you don't have the people skills (or similar) necessary to gerrymander the discussion and the subsequent vote, you're someone's bitch. Or soon will be.

  18. Bruce Hoult

    Of to argue about spaces vs tabs is to miss the point of the article. However…

    I really don't care which, or how many spaces, or how wide tabs are. Just put a suitable description string in a comment in the file and Emacs (or one of the many editors that also understands it) will automagically put in the appropriate number of spaces or tabs or some combination thereof whenever you press the return key, or the tab key near the beginning of the line, or the semicolon at the end of the line.

    Once that comment is there, I don't have to worry my silly little head about spaces or tabs again.

    1. Joe Werner Silver badge
      Pint

      Re: Of to argue about spaces vs tabs is to miss the point of the article. However… (Bruce Hoult)

      My thinking exactly. (though tab-using heathens should burn like the vermin they are ;p - but the version control system should actually take care of that so you don't have to worry - and you are using one, right?). The reaction we have at (tab vs. space) at first is 1) strong 2) disproportionate 3) typical and 4) stupid - let's face it: I could have spat lace patterns into iron plates as well.

      Trevor really describes the problems well that some (most?) of us have. They say that acknowledging your shortcomings is the first step to solve them. Here's to us (raises $icon) really tackling those real and serious issues and no longer be carried away by the childish flamewars we are prone to end up in.

      From a mailing list: "so the Ogre (list admin) tells us we cannot be Trolls", wrote one of the participants in the flamewar / rule-lawyering djihad. This really defused the situation.

      1. Trevor_Pott Gold badge

        Re: Of to argue about spaces vs tabs is to miss the point of the article. However… (Bruce Hoult)

        "though tab-using heathens should burn like the vermin they are"

        I'll fight you! :P

    2. Steve Aubrey

      Bruce, thank you for noting that the article's intent was not to start a holy war, but to move past them.

  19. Anonymous Coward
    Anonymous Coward

    "As long as I avoid Windows, computers do what I tell them to and they don't try to use emotional or psychological judo in order to get me to do something I don't actually want to do. "

    The problem is that computers do exactly what they are told. However - what you tell them to do may conflict with other constraints that they must obey first. Those constraints may not even have been designed into them - but just happen to be the way things interact. They often aren't apparently predictable in their resultant misbehaviours - until you understand which constraint has been broken - and how.

    That's just like humans. Unless you know what makes an individual person tick - their attitudes to various situations will be puzzling. Like computers we all are products of nature and nurture - the sum of our epigenetics and experiences. Like an evolving piece of spaghetti programming on a lashed up breadboard. Each tiny component has a variable set of tolerances within a possible range - and sometimes it is a substitute that sort of does the same job.

    I can forgive IT systems giving me aggravation - I expect better of people.

    1. Terry 6 Silver badge

      " can forgive IT systems giving me aggravation - I expect better of people."

      Nooo. IT systems should have been set up to avoid causing aggravation. People are all unique individuals.

      The biggest IT aggravations come from systems designed to make people conform to how the IT works, rather than the other way round.

      1. Anonymous Coward
        Anonymous Coward

        "People are all unique individuals"

        Still when people work in a group or any form of organization they must play by the same rules, even if they don't like it. If you play any sport, for example, you need to play by the agreed rules. It doesn't matter if you're a unique individual. If you don't like the rules, you are free to play alone, or setup your own organization to play using your own rules.

        When you have several people working a project, you have to ensure the needed pieced flows among people without issues, and common standards are the first step to achieve this. "Lone wolves", "cowboy developers" and the like are always an issue in any team.

    2. Mr Flibble
      Go

      “I really hate this damned machine

      I wish that they would sell it.

      It never does quite what I want

      But only what I tell it.”

  20. Ba55me15ter

    Don't you want to talk to the ladies too? #casualsexism

    1. Anonymous Coward
      Anonymous Coward

      There is nothing casual about sexism.

  21. Anonymous Coward
    Anonymous Coward

    \t

    ....tabs are the devil's work, spaces, in groups of 4 always.... the only thing worse than a tab.. languages with significant whitespace..... the deepest pit of hell is not puniishement enough for such abominations...

  22. Anonymous Coward
    Anonymous Coward

    And within this article...

    ...lies the reason for the vast majority of comments seen on these forums!

    Linux v Windows v OS-X

    Android v Apple v Blackberry v Windows phone

    Spaces v Tabs

    To the dispassionate observer it IS all pretty childish.

    1. Brewster's Angle Grinder Silver badge

      Re: And within this article...

      Opening brace on the same line or the next line.

  23. Roger Greenwood

    At the end of the day . . .

    . . .life is too short to stuff a mushroom.

  24. Filippo Silver badge

    I don't really give a crap about tabs vs spaces; whatever the IDE is set up as will be fine. But languages with significant whitespace need to die in a fire.

    1. Missing Semicolon Silver badge
      Alert

      Significant whitespace? It's a shame, then...

      .. that the only sane alternative for Perl, for doing what we used to to in Perl*, is Python.

      * Perl no longer works for me. When you need to install a Perl module (that really ought to be part of the vanilla distribution) and the candidate is a) at version 0.1.45, and b) causes CPAN to spend the next 30 minutes downloading and compiling much of CPAN.org (also at V0.something), you get worried. When the C modules that are compiling also cause screeds of warnings of the "mismatched prototype/uninitialised variable/dodgy cast variety, worry is no longer enough, and concern is required.

    2. Tim99 Silver badge
      Joke

      @Filippo

      Use an IDE? The work of Satan! If you write a program the way that $deities intended; you type:

      *****************

      echo /* Put comment in a file by echoing from the CLI. */ >somefile.txt

      echo #include <stdio.h> >>somefile.txt

      echo printf( "Hello\n" ); /* Writes Hello to stnd output */ >>somefile.txt

      *****************

      or cat > somefile.txt

      /* Put comment in a file by echoing from the CLI. */

      #include <stdio.h>

      printf( "Hello\n" ); /* Writes Hello to stnd output */

      ^D

      *****************

      Then cat somefile.txt - You now realize that [Tab] should not be used...

  25. Anonymous Coward
    Anonymous Coward

    Because they are the most important things in your life, today.

    We'll make tabs great again.

    1. Anonymous Coward
      Anonymous Coward

      Re: Because they are the most important things in your life, today.

      We'll make tabs great again.

      You, Sir, are evil. I applaud you.

      :)

    2. Trevor_Pott Gold badge

      Re: Because they are the most important things in your life, today.

      I'm going to build a wall and make spaces pay for it!

  26. Anonymous Coward
    Anonymous Coward

    Tabs are a great idea except...

    When you have to work with systems that seem to do some weird translation on imported text to the point where line breaks and tabs don't render indents properly. I've seen several systems recently that do this including enterprise systems, and in one recent case I found that using tabs to indent code can not just cause compile/runtime errors but it can also make the saved code uneditable. The only cast iron guarantee I've found is this problem TOTALLY goes away - universally - as soon as you stop using tabs and use spaces instead.

  27. Anonymous Coward
    Anonymous Coward

    Tabs != n*spaces

    In all cases. Tabs inside a sendmail.cf file are significant.

    As anyone who's had a major vendor send out a patch with a section of the file cut&pasted from somewhere else will testify.

    Oh it's so much fun when all the email systems stop working and so you cant' contact the support guys.

    1. Anonymous Coward
      Anonymous Coward

      Re: Tabs != n*spaces

      OK, listen, I'm OK with debates of tabs vs spaces, or even emacs vs vi, but mentioning sendmail.cf is just plain rude. That's the computer equivalent of swearing.

      Go wash your mouth with soap.

      And your keyboard.

      1. Dazed and Confused

        Re: Tabs != n*spaces

        > , but mentioning sendmail.cf is just plain rude.

        sendmail.cf was beautiful, it was elegant and no where near as scary as everyone made out, it's main problem was that everyone went around telling everyone else it was scary and for many years there was no good training to help anyone come to terms with it.

        I used to teach people how it worked, it really wasn't that difficult.

        But then I could never get my head around M4 because it writes such fud ugly sendmail files and always seemed to be a solution to a problem that didn't exist and if only they'd expended some energy on learning sendmail in the first place they wouldn't have needed to bother.

        1. Trevor_Pott Gold badge

          Re: Tabs != n*spaces

          Excuse me sir, do you think in fractals? I've heard such people exist, but I've never met one. You strike me as someone who might fit that description.

          1. Dazed and Confused

            Re: Tabs != n*spaces

            I promise you it really isn't that difficult. After a few hours of going through what it does I could usually get even non-programmers happily making changes to the file. It only looks scary because Eric was fixated with $$$$$$$$$$$$$$$$$ signs

            1. BinkyTheMagicPaperclip Silver badge

              Re: Tabs != n*spaces

              I wrote a custom disconnected mail routing system based on sendmail years ago on SCO, and didn't bother using m4. I would not classify it as 'easy'.

    2. Trevor_Pott Gold badge

      Re: Tabs != n*spaces

      Anyone who edits sendmail.cf by hand is several orders of magnitude more pee-in-jars than I could ever work with. I wouldn't know how to communicate with such a person. It would be like talking to a circuit board.

      I'll stick with the M4 editor, thanks. Sendmail.cf...what the blinking...that's like writing an e-mail by first coding a new mail client in assembler!...

  28. John Sanders
    Facepalm

    ""Gentlemen of IT, I think it's time we talked. I hate people who use spaces to indent their code instead of tabs.""

    We have a name for people who use tabs for indenting: HERETICS!!!!

    1. Trevor_Pott Gold badge

      TO ARMS, MEN! REPEL THE INTRUDERS!

  29. SoloSK71

    i wonder just how much of the 'issue' is something that is almost never mentioned, and that is that i am 95% of my colleagues in the it industry are somewhere on the autism spectrum and all of the above comments as well as the authors article are a great example of that

    1. J.G.Harston Silver badge

      ****EVERYBODY**** is on the autistic spectrum, that's what "spectrum" ****MEANS****.

    2. Trevor_Pott Gold badge

      I'm on the spectrum. ADHD. No aspergers or direct autism here, though I can reach stimulus overload at a conference. (Or a really crowded shopping mall.)

      The weird part is, I'm the functional ASD fellow in my group of evil compatriots. Most that I know are on the ASD side of the serotonin spectrum. We don't mix well with those on the schizophrenia side of the spectrum.

      And yes, there are a LOT of ASD people in tech. The ASD side of the serotonin spectrum was for a long time naturally attracted to tech. It never seemed to appeal as much to the schizophrenia side.

  30. John Sanders
    Unhappy

    ""this is a huge part of why all but the most stubborn of the womenfolk refuse to work with us.""

    At this point is when I realized the article is not only bullshit but horseshit too.

    Please do not waste our time with manure.

    1. Brewster's Angle Grinder Silver badge

      He was getting at real phenomena and it was worthwhile saying. But tying it in with the lack of female programmers made me cringe and undermined it.

      And, anyway, women use formfeeds...

  31. 1Rafayal
  32. Paul

    I think tabs, hard tabs, should be used as god indented, or intended, and stick with 8 columns. That's the default, it works, and as long as you don't f**k with your editor settings, everybody sees the same.

    If you want anything else, use spaces. And again, everybody sees the same thing. A good editor can use any number of spaces for indentation, so if you're going to d**k around with the editor's configuration, use spaces and make the editor do all the work.

    The worst messes I've ever seen in source code are when muitple people have used hard tabs and defined them as different shifts, but all done it differently.

    1. Paul

      Join me, in the Campaign For Actual Real Tabs - CFART!

      1. Anonymous Coward
        Anonymous Coward

        For the first order of business, I propose we rename the campaign to the Campaign for those United behind the Normalisation of Tabs

  33. Anonymous Coward
    Anonymous Coward

    Sonar

    "I hate people who use spaces to indent their code instead of tabs"

    Trevor,

    perhaps you and I could team up to lynch the idiot who added the 'rule' in Sonar which insists that code must be space indented in order to pevent non-standard editor tab spacings from causing code to be displayed differently. (given that this is the whole point of tabs -> preference!)

    I was apoplectic with rage when this flagged up in my early builds when we started using Sonar code analysis.

    Oh, and FFS, while looking for the particular rule I found this: http://www.javapractices.com/topic/TopicAction.do?Id=244 ... GAAARGHH!

    [and yes I know this comment entirely missed the point of the article - its just an observation on the polarised ways we have of doing things in IT]

    1. Trevor_Pott Gold badge

      Re: Sonar

      I got me a rope made out of tangible hatred, let's do this!

  34. Gordon Pryra

    What an awesome read

    No comments on the content, except that I really enjoyed reading that

    (for the record its notepad ++ and tabs)

    1. Trevor_Pott Gold badge

      Re: What an awesome read

      For the record, you should have used "it's".

  35. kmac499

    Every time I took over some code, i.e. I had 100% ownership of it. It goes straight through my code formatter.

    Why? Because once the code is shaped with indentation, trailing and leading blank lines and simple function headers you can skim the code and 'feel' it's general shape.

  36. Anonymous Coward
    Anonymous Coward

    People indent code??

    Other than "completely randomly"??

    We have a coding standard embedded in the IDE that will properly indent and word-break everything, but then "it would mess up the CVS diffs and the code review" so we're not allowed to use it.

    Fuck me.

    This is one of the many, many reasons why I use Python.

  37. Anonymous Coward
    Facepalm

    Brilliant...

    ..an article about how pointless arguments about things such as tabs vs spaces are and 80% of the comments are about tabs vs spaces.

    Genius.

    1. This post has been deleted by its author

      1. Anonymous Coward
        Anonymous Coward

        Re: Brilliant...

        Indeed. I posted a comment which was not about tabs/spaces but about machine/human determinism - and all the replies were about tabs/spaces. A case of Idéfix?

        No, we're just spaced out. And Idéfix is a dog.

        :)

  38. herman

    Och, my heart bleeds for you dude. After all these eleventy seven odd years shlepping bit buckets and shuffling white space about and you still haven't discovered pretty printers such as... wait for it... drum roll... indent - sigh...

  39. Anonymous Coward
    Anonymous Coward

    Spaces, Spaces, Spaces...

    Ever so slightly off-topic, but in a previous job at a blue chip company in the pharmaceutical sector, it fell upon me to update some SOPs (actually, it was when digital cameras first became available - the Casio QV-10 at the time - and no one knew how to import images into Wordpress or Word, so I was involved).

    When I tried to change any padding or margins I was getting very strange results.

    When I made formatting symbols visible, I discovered that every indent, table, list, and so on had been effected using the space bar. And every screen-width line had a <CR> at the end of it. They'd simply done what they might have done on a typewriter. There were thousands and thousands of spaces in every one of the SOPs (hundreds of them), and it meant pretty much a total rewrite of the lot.

    The secretaries who'd done it were the ones who were in tears when the company switched from Worpress on MS-DOS to WYSIWYG Word on Windows (v. 6.0a, if I remember), since they suddenly couldn't type documents anymore. It was then that I discovered they all had small pocket books where they had written down every slash command they might need to use Wordpress in the first place.

    1. Terry 6 Silver badge

      Re: Spaces, Spaces, Spaces...

      Oh GOD!!

      I remember. It was in the early days of school computers. They tried to make us use that programme to type reports etc. Every f***ing bit of formatting needed a funny code before and after. We were experts at our substantive jobs - we had no time to become expert at this crap. Fair enough, we had typewriters that worked just fine, and some just had beautiful handwriting.

      Except that the Powers That Be who were trying to insist on this stuff swore blind that it was really easy, anyone could use it and so on. But they all had secretaries to do it for them. Liars!

      BTW we went to WORD in MSDOS, before we had Windows, I'm sure.

      1. Anonymous Coward
        Anonymous Coward

        Re: Spaces, Spaces, Spaces...

        In the days when you might be lucky to find one PC - a 286 or 286 at best - within a two mile radius, any request for one for your own department was always met with "what for?"

        Tell them that you wanted to be able to type documents and the answer was - no kidding - "we have secretaries to do that", and that was the end of the discussion. Except that no one except the managers had secretaries, and everyone else was way down the pecking order for secretary time.

        Then it was back to the hell of having to keep sending bits of paper back and forth for correction, with days of delays because of the secretary's workload, and eventually settling for one that was *almost* right, even though it wasn't what you originally submitted.

        1. Anonymous Coward
          Anonymous Coward

          Re: Spaces, Spaces, Spaces...

          "[...] and eventually settling for one that was *almost* right, even though it wasn't what you originally submitted."

          Writing "modem" always came back from the typing pool as "modern".

          In the 1970s there was a typing pool as a service on the internal phone system. When the hard copy came back it was often truncated - as they had started typing from the recording before you had finished composing your dictation.

          In the 1970s I used a mainframe terminal to produce technical reports quickly. Then my manager insisted I did them handwritten - to be typed by his secretary. He saw no need for technical staff to have word processing capabilities.

          One technical IT manager in the late1980s used to ignore his own desk's office functions terminal. He would get his secretary to print out his incoming emails. He would then annotate them with handwritten replies for her to type up and send as emails.

          A colleague had the foresight to go to a typing evening class. He was the only guy in a class of women - but he became proficient at touch typing on a terminal.

          1. Anonymous Coward
            Anonymous Coward

            Re: Spaces, Spaces, Spaces...

            You're bringing back memories now!

            In the late 90s I used to include various manufacturers' diagrams in documents and SOPs, often scanned from manuals. I was asked to show a colleague how to do it so she could update her own SOPs accordingly. She was not a particularly adept pupil and the simply teaching her to use the scanner was as painful as I'd imagine picking your nose with a scalpel would be.

            Eventually, she managed to scan the diagrams she needed from a manufacturer's manual.

            She then proceeded to print them out, cut them into pieces with scissors, and glue them on to the document she had previously printed. The whole was then photocopied to become the Master.

            I got into trouble for laughing at her when I found out. I never was much of a Team Player.

          2. Terry 6 Silver badge

            Re: Spaces, Spaces, Spaces...

            One technical IT manager in the late1980s used to ignore his own desk's office functions terminal. He would get his secretary to print out his incoming emails. He would then annotate them with handwritten replies for her to type up and send as emails.

            Another Oh God! moment. Even into the 2000s I came across various senior staff not in IT who still did that.

  40. moozer

    What is newline?

    While we are it:

    In a text file, how do you do newline? \r\n or \n?

    PS I think the author is spot-on. The comments prove it - it is so childish that it is funny and sad at the same time...

  41. Anonymous Coward
    Anonymous Coward

    Tab indents suck

    At least if you want most code to fit in a single line on an 80 column window, which IMHO makes it a lot easier to follow. RidiculouslyLongVariableNames are my other pet peeve, for the same reason. Not that you should be using some one (except for simple non-nested loops) or two letter variable names, of course, but overly long mixed case variable names are the devil's work!

    1. Anonymous Coward
      Anonymous Coward

      Re: Tab indents suck

      A customer wanted us to carry forward some existing assembler programs to a new mainframe. They had the source files - all written to an official mandated standard.

      Each module was assigned an alpha sequence starting with something like "AAA". Then any functions started with those letters plus the next available letter. All the labels in a function's code consisted of its letter combination followed by an ordinal number. It was almost impossible to understand the programs - but fortunately the compiled binaries worked without modification.

  42. Will Godfrey Silver badge
    Happy

    Code formatting?

    I always use the same format as the existing code. Simples.

    If I find occasional inconsistencies I'll only adjust them if they are in the section of code I'm currently working on. If there are a lot of them I'll do a general clean up and commit titled 'Formatting - no code changes'.

  43. Camilla Smythe

    Perhap I missed the rant but...

    [Snip]

    Anyway... Fuck this. I'm off to bed and will be wearing a Slazenger Swimsuit four sizes too small for me.

  44. Anonymous Coward
    Anonymous Coward

    Illegal tabs

    Would this be a bad moment to mention the programming languages I remember using in which horizontal tab was an illegal character ?

  45. Long John Brass
    Flame

    You are ALL wrong

    <Disclaimer>

    Code should be indented as K&R wrote in the holy book of C.

    3 Spaces for an indent, not 2 or 4 and TABS just are right out

    For though I walk through the /dev/null I will fear no Windows(tm)

    For VI is the editor and lead us not unto EMACS

    </Disclaimer>

    The problem is NOT tab vs space or braces on an new line (The right way). The problem is the editors! A good editor should be able to re-flow the source code depending on the preferences of the coder. I believe 4coder is getting this facility shortly.

    That just leaves us with the variableNamingWar :)

  46. Sirius Lee

    A bit hard on yourself

    Perhaps its your conditioning but I do think you are being hard on yourself. IT is an unusual environment because it changes so much all the time.

    Take a lawyer. Yes, there are new laws passed each year - but not that many and often with years of warning. But there is only one law. In IT there are many equally valid new alternatives all the time.

    Or take an a civil engineer. Brick and iron have the same properties now as they did when man first learned the smelting technique and 'stone age man' is a euphemism for backwards.. There's a reason we call them 'concrete' examples - they are definite, unchanging. Sure, some smarty pants will point out that we invented steel. But that was over 100 years ago.

    Meanwhile in IT land there are always new ways of doing old things. We cannot embrace them all. It would be great if we could but its just unproductive. And potentially career threatening. Pick the wrong new idea too early and your shiny new product is going nowhere. Not because the new idea you chose was a bad one but because the crowd sourced alternative idea that won has many more adherent and is, for now, correct.

    Years ago I opted to use a JavaScipt library called MooTools. It was great. Then Microsoft chose jQuery and the rest, as they say, is history. By contrast in 2007 I jumped in to the cloud so I could reduce most of the IT department - I suppose, really, re-skill. Despite dire warnings about the terminal dangers of the cloud, the benefits were so obvious. Fortunately, I chose AWS. I write 'fortunately' not because I believe they have some fantastically unique service but because the crowd made the same choice. I'd like to say it was great foresight but it was a toss up between AWS and some outfit in California I can no longer remember. The Californian's problem was lack of geographical spread and one day I had a problem accessing their service because the infrastructure provider, Level 3, had a bad day - nothing to do with the Californians directly. That was it.

    One way of looking at your issues is that your (and my) personal traits make us antagonistic. Another is that we have to make choices, sometimes with long term consequences, between alternatives are that are really identical. We make a choice and then advocate our position. There is no viable alternative. One is to capitulate to everyone else's view but if you are going to capitulate there was no point in making a choice in the first place. Being a thoughtful introspective person,you would not have made a choice in that instance so the scenario does not arise. The only reason we advocate is because we see a reason, probably parochial, that one alternative is better than another. In other circumstances we sit firmly on the fence waiting to see how it pans out.

    I'm like this with containers at the moment. I don't really 'get' the need for containers. Of course the evangelists will brow beat me with their reasons but I don't see a business case for learning this technique that other techniques I already know don't work at least as well. But I recognize this is a parochial perspective. I probably do not yet have a use case that fits the container problem (though that doesn't stop the evangelists harassing me).

    NoSQL is another. Don't get it. I get the need for denormalization. I just don't get why a 'special' database is required. A few year's back I was willing to listen so attended a MongoDB webinar (it could have been a Crouch webinar - those identical choices again). The webinar was lead by a guy who read English at uni and wrote poetry. No, No, No. I wanted to hear from CS PhDs about why my optimized and distributed relational engine was not up to the task and why my years of experience querying SQL databases for BI apps in global businesses was going to be consigned to history. The use case presented was CraigsList. Not their main database - that continued to be held in MySQL. Apparently CraigsList were looking at NoSQL for their archive databases so they could change the structure of the main database more easily - or something. Seemed to me to be an interesting application but not the world changing use case for NoSQL.

    So give yourself a break. The adults can try to tell us to get our house in order but that's because they live in more deterministic houses. We know the adults will not do any better because IT is more like social media and we know how successfully the adults have managed to rein in social media.

  47. BinkyTheMagicPaperclip Silver badge

    Try and concentrate on the reason for change

    Sometimes, yes, it is because a New Shiny has appeared and the person genuinely believes it's an improvement. Ask yourself if it's any good, are they trying to accommodate people who point out flaws in their vision *cough* Lennart *cough*, or are they upfront on their position and that absolutely defines the limits of how they can change (de Raadt, Stallman..)

    Also ask yourself if it actually matters. I have preferences for editors (vi or X2), window managers (cwm), operating systems (BSD), and coding (C++, awk, python). What I actually need is a web browser, an editor, and a mail client - it doesn't really matter which. I've used CP/M, DOS, Windows, OS/2, and Unix as my main OS and they all got the job done. It was more important what they enabled in my life. It all involves compromise : currently I'm trying to have FreeBSD in a VM as my main desktop (home, work is mostly Windows), and whilst it works I have to admit Windows manages extremely well here.

    The above is why 'emotional intelligence' (blech) is an important part of providing a solution.

    Many, many other times it's because there is money involved. Those with long memories may remember when Windows remote desktop start becoming A Thing. Like any New Shiny (conveniently based on Old Shiny), it was pushed hard as the solution to everything - never mind that in the early days printing and requirements for local storage were somewhat of an issue to name only a couple of issues. Now it's devops, and VDI, and agile.

    There is never going to be consensus on any new trend, in any area (not just IT), because to immediately take a mature and rational view would get in the way of making money. Far better to stick the new idea in somewhere where it just about works, patch around the issues, and after the initial gold rush actually use it for genuinely useful instances.

  48. MJI Silver badge

    Worst for style

    Anyone ever had to use that POC VB6?

    Horrific

  49. MJI Silver badge

    Non compiling contractor code

    He decided to use very long variable names, and kept getting errors.

    So long they were not unique withing the languages variable name maximum length.

    I reduced them to 9 or 10 and it compiled and worked fine.

    Am I rare in liking shortish descriptive variable names?

  50. William 3 Bronze badge

    You mentioned the opposite sex, and why they don't work in IT.

    Look pal, a Woman will say she adores tabs to your face.

    Whilst laugh about you using tabs behind your back.

  51. Shocked Jock

    As Mark 85 said, the article is not about tabs v spaces, but about inner demons.

    The challenge for all of us is to grow enough to be able to cope with different people. Good teachers might be a suitable example: they can enthuse or repel students, yet they keep coming back to impart essentially the same information year after year, all the time aiming, in addition to their competence in their natural subject (be it IT, art, history or language), to become more effective at enthusing students.

    The IT professional is not alone in being frustrated with people who care more about getting on in the organisation than getting the organisation's kit to work smoothly.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon