Pesquisa revela: programadores que usam espaços ganham mais do que os que usam tabs

r_109448_5nydp

Silicon Valley, o excelente documentário da HBO retrata muito bem não só as relações entre startups e investidores, mas também o dia-a-dia dos programadores. Em uma das grandes cenas da série Richard Hendricks briga com a quase namorada ao descobrir que ela programa usando espaços em vez de tabs.

Sim, soa como uma bobagem brigar por isso, mas já vi gente quase ir às vias de fato por bem menos. Programadores são extremamente territoriais em suas manias, e se você não alinhar os } corretamente EU ESGANO.

No tempo do BASIC a turma que escrevia PRINT odiava a turma que usava ? no lugar, e vice-versa. Sim, somos patéticos. Só que aparentemente, há uma diferença real no caso dos espaços vs tabs.

O Stack Overflow fez uma pesquisa com 28.657 usuários, e descobriu que:

  • 40,7% usam tabs;
  • 41,8% usam espaços;
  • 17,5% usam os dois.

Correlacionando com os salários reportados pelos usuários, deu isso:

salary_graph-1-1024x731

Na média quem usa só espaços ganha US$ 59.140,00 por ano. Quem usa só tabs ganha US$ 43.750,00. O tempo de experiência não afeta a diferença.

Geografia também não. Em todos os países, programadores que usam espaços ganham salários mais altos.

salary_by_country-1-1024x768

Eles encontraram o mesmo desvio analisando os dados por linguagem de programação, por tempo de experiência e mesmo entre programadores da mesma linguagem no mesmo país. Em termos de discrepância salarial usar espaços em vez de tabs equivale a 2,4 anos de experiência.

ÓBVIO que você não vai ganhar mais se trocar tabs por espaços, não é o caso da lógica da aranha que sem pata fica surda, há outra explicação, alguma variável que ninguém está vendo, mas o mais importante é que o mané do Richard Hendricks estava errado.

Fonte: Stack Overflow.

Relacionados: , , ,

Autor: Carlos Cardoso

Entusiasta de tecnologia, tiete de Sagan e Clarke, micreiro, hobbysta de eletrônica pré-pic, analista de sistemas e contínuo high-tech. Cardoso escreve sobre informática desde antes da Internet, tendo publicado mais de 10 livros cobrindo de PDAs e Flash até Linux. Divide seu tempo entre escrever para o MeioBIt e promover seus últimos best-sellers O Buraco da Beatriz e Calcinhas no Espaço.

Compartilhar
  • Didi Moco Sonrisal Colesterol

    Eu uso ‘tab’, mas não sou programador, apenas entusiasta! Hehehe

  • gfg
  • Cocainum

    Quando comecei a assistir esse episódio, eu pensei: “Agora vai!”

    Mal sabia eu…

  • Geraldo Dal Berto Jr.

    double tabs!

  • PugOfWar

    “ÓBVIO que você não vai ganhar mais se trocar tabs por espaços”

    vou começar a usar espaços, vai que né

    • Tejobr

      Ganha sim. Porque como demora mais os patrões acham que é muito mais complicado.

  • Lucas Araujo

    Tá explicado o porquê da Pied Piper não dar certo!

    • Luiz Claudio Eudes Corrêa

      E o povo achando que era o “dedo podre” do cara

  • J’onn J’onzz

    Provavelmente devem ser o guia de estilo das empresas que pagam melhor que forçam o uso de espaços.

    Ou porque que tende a preferir espaço tende a ser melhor programador mesmo…(let the treta begin)

    • DumbSloth87

      Na real acho que os chefes passando e ouvindo aquele estardalhaço dos malucos no “espaço” pensam: “ó, esse tá trabalhando bastante”, aí aumentam o salário do caboclo.

      • gfg

        Tá ai a variável que faltava. Já podes publicar o paper agora.

      • Luiz Claudio Eudes Corrêa

        Então usar teclado mecânico barulhento aumenta o salário? 🤔

        • PugOfWar

          só há um jeito de descobrir

      • Cássio Amaral

        Como disse o Murilo Gun em um desses vídeos motivacionais que ele grava: o segredo não é estar sempre ocupado, e sim fingir que está sempre ocupado.

  • Nilton Pedrett Neto

    Usar espaços é estupido. Se vc programa pra web e seu servidor não tem um sistema de compactação on-the-fly, vc estará (a cada linha indentada) mandando 4 (ou mais ) bytes ao invés de 1 . Agora faz as contas e veja quanta banda desperdiçada.

    • Concordo. Recomendo tirar o Tab Também e deixar tudo alinhado a esquerda para ganhar mais um pouco da banda.

    • Paulo Canedo Costa Rodrigues

      Minificar, prazer.

    • Eduardo RFS

      Uglify?

      • Eduardo RFS

        E web 4 espaços? Está em 2006? JS, HTML e CSS 2 espaços

    • Felipe Braz

      Hoje em dia tanto faz (ao menos nesse quesito), qualquer webserver minimamente bem configurado transmite compactado com gzip.

    • Perry Werneck

      Po. Mas isso não deveria fazer diferença já que, é claro que você passa o código por um compressor/otimizador antes de mandar pra produção né?

      • Nilton Pedrett Neto

        … não deveria… rs

      • Tejobr

        Na verdade isso se chama compilador. Mas não tente ler.

    • Luiz

      PQP, dev web, aqueles caras que não sabem programar e precisam de library para tudo? se preocupamento com gastar bytes, quando qualquer site carrega 4MB de JS, hahahahhaaaaaaaaaaa

  • São os milissegundos a mais que o cérebro ganha ao digitar 4 espaços (4x mais) para pensar na próxima linha de instrução lógica do que com 1 Tab.

    • Então devo ser superdotado, porque quando começo a digitar meu código eu já tenho o algoritmo todo em mente, só fico transcrevendo.

  • Abraão Caldas

    Algumas IDEs trocam o tab por quatro espaços e não tem como saber disso pegando o código 😉

    • DumbSloth87

      A pesquisa foi com programadores e não com códigos.

      • Abraão Caldas

        Er…. a discussão sobre tabs x espaços é irrelevante se maioria das IDES já trocam tabs por espaços.

        • DumbSloth87

          Tu acha q o cara que programa mais rápido usando tab vai trocar pra espaços só pq a IDE troca tabs por espaços? Think about it!

          • Abraão Caldas

            Na verdade seria o contrário a sua afirmação….
            O que eu estou dizendo que o espaço já ganhou, quem usa tab só tá se enganando achando que tá fazendo diferente.

          • DumbSloth87

            O cara não quer ser “diferente”, ele quer programar do jeito que ele quiser e se sente mais confortável, e é esse o assunto da pesquisa, como os programadores preferem programar.

          • Abraão Caldas

            Username tá perfeito mesmo, rs.

          • Thiago Bachi Rehbein

            Não entendo… Que relação tem o fato da IDE trocar tabs por espaços com uma pesquisa conduzida com os Programadores… Se a IDE troca ou não, tanto faz, o que eles querem saber é se a pessoa que digitou o código usa…

  • André K

    Isso parece saído diretamente de alguma tira do Dilbert.

  • -_-

    Eu uso espaço. Meu salário atual está na faixa do programador canadense (em reais, varia entre 200 e 250 mil por ano).

    Não sei se tem relação, mas o motivo de usar espaço é devido a norma da empresa multinacional onde trabalhei a maior parte da minha carreira até agora.

    • Qual notação você utiliza pra expressar tempo x performance?

  • Fabrizio Leal Freitas

    “… salários reportados pelos usuários… ”
    Ou seja, os programadores que usam só espaço são mais mentirosos que os outros.

    • Pensei a mesma coisa. Fora que muitos mentem salário no Stackoverflow justamente para tentar passar a ideia de que o mercado paga um salário mais alto. Eu e vários amigos fizemos isso. Acho que isso acontece principalmente nos países subdesenvolvidos como o nosso.

      • Leandro Lima

        Pq fazer isso? Qual a vantagem?

        • Você sabia que tem muitas empresas que consultam média salarial nesses sites? Você ainda pergunta qual a vantagem nisso?!
          A resposta é simples: aumentar a remuneração do mercado. Se todos os profissionais fizessem isso no Brasil, em todos os sites e pesquisas de salário, a remuneração seria muito melhor.

          • Matheus

            Genial, sério (sem ironia).

        • Wagner Felix

          A mesma vantagem de se usar 4 espaços no lugar de 1 tab. Não procure lógica nisso hahahha.
          Mas minha teoria é que quem usa espaços é um engenheiro social melhor.

  • 640k is enough

    Só exijo indentação.

    Em relação a espaço, se quiser pode colocar até ALT+255

  • Kimzark

    Por que usar tab ou espaço se as IDEs possuem identação de código? (no Netbeans é alt+shift+F) .

    • Netbeans é uma merda. Até o IntelliJ é melhor.

      • Kimzark

        Só por curiosidade, qual a última versão do Netbeans você utilizou (e por que é uma merda)?

        • Recente, tentei usar de novo há uns 5 meses atrás e percebi que continua faltando uma penca de coisas que no Eclipse e até no IntelliJ tem. Muito antigamente não tinha nem atalho pra dar um “organize imports”, enquanto no Eclipse era só pressionar Ctrl + Shift + O.

          • Kimzark

            Para mim, o Netbeans atende todas as necessidades. Não é nem uma questão de gosto continuar utilizando​, mas sim de não haver necessidade de troca.

          • Eu periodicamente faço o exercício de experimentar outras IDEs, pra ver se tem algo que possa me ser útil. Quando utilizar o Eclipse com vários plugins, você vai ver como ele é infinitamente mais produtivo que o Netbeans ou IntelliJ.

            O IntelliJ tem umas coisas bacanas, principalmente pra desenvolver pro Android.

          • Kimzark

            Como ainda não trabalho (tô terminando a faculdade), o Netbeans atende a minha necessidade. Fiquei meio ressabiado porque o eclipse precisa de plugins, mas precisaria dar uma testada nele pra ver se compensa a troca. Agora, gostaria de saber a sua opinião sobre o Android Studio, particularmente só tive dor de cabeça para fazer funcionar, em específico o Graddle só dava pau.

          • Aí que está. O Eclipse não precisa usar plugins, mas é comum o uso para aumentar a eficiência. Por exemplo, a JBoss tem vários plugins excelentes, como o Hibernate Tools, que faz mapeamento ORM baseado no modelo de dados retirado direto do banco de dados. Isso te pouca um tempão escrevendo classes de persistência.

            Já com relação ao Android Studio (que é construído em cima do IntelliJ), ele é muito pesado e o Gradle é um ladrão de memória RAM. Eu não gosto do Gradle, apesar dele ter uma proposta interessante, mas pra rodar legal, a máquina tem que ter no mínimo 8GB de RAM (a minha tem 16GB de RAM DDR4 num Core i5 e ainda não acho satisfatório a velocidade de execução do Gradle).

            EDIT: o Android Studio nada mais é que o IntelliJ com um plugin desenvolvido pela Google pra desenvolvimento do Android.

          • Você deve ter usando uma versão bem antiga do Gradle, pois esses problemas não existe mais, as versões atuais estão bem mais rápidas, faz tempo que não tenho nenhum problema, só para ter noção eu programo para Android em um Macbook Pro core i5 com 8gb ddr3 e não tenho problema algum com o Gradle, no passado quando eu programava para android no eclipse era um saco gerenciar um monte de .jar

          • Eu uso o Android Studio quase todo dia e tenho esse problema tanto no Windows como no Linux, não importa se eu habilito o parallel do Gradle. Sempre demora horrores e consome muita RAM.

          • Aqui tenho problema algum sempre e rápido para atualizar o Glade estou usando a versão 2.3.3, no caso uso no MacOS mesmo….

    • OverlordBR

      Pois é… qualquer porcaria de editor possui identação… até um Notepad++ da vida.

  • 👽 Gliesiano

    Coexist, brothers!
    Bem aventurados os que programam em Whitespace e convivem em paz com tabs e espaços:
    https://en.wikipedia.org/wiki/Whitespace_(programming_language)

    • Salles Magalhaes

      Os 17.5% são os programadores de white space 🙂

    • PugOfWar

      o Angular não gosta muito que misturem espaços e tabs

      • 👽 Gliesiano

        Já JSFuck não gosta de nada que não seja ()[]+!
        https://en.wikipedia.org/wiki/JSFuck
        http://www.jsfuck.com/

  • Germano

    set expandtab

  • Sergio Rainor

    “Silicon Valley, o excelente documentário da HBO” …?!?! Silicon Valley é uma série de comédia, não é e nunca foi documentário.

  • ditom

    Correlação espúria.

  • Julio Cesar Goldner Vendramini

    Eu uso tab. Mas se fosse utilizar espaço usaria um apenas. Porque sim.

  • Pingback: Pesquisa revela: programadores que usam espaços ganham mais do que os que usam tabs | Notícias Legais()

  • Rogerio

    Passo. Eu Programo em COBOL.

  • Macaquinho feio do bananal

    3 palavras, replace expressões regulares

    PS: Notepad++
    ^s*

    a explicação é simples, quando os programadores aprendem a usar o tab, eles abrem uma empresa contratando os coitadinhos dos espaços D:

  • Gaius Baltar

    “40,7% usam tabs;
    41,8% usam espaços;
    17,5% usam os dois.”
    Vocês chamam esses últimos de “isentões”?

  • Salles Magalhaes

    O que surpreendeu foi saber que 41% usam espaços. Imaginava que o percentual seria algo como 0,01%

  • Lucas Do Prado Polo

    “… alguma variável que ninguém está vendo, mas o mais importante é que o mané do Richard Hendricks estava errado”

    Como foi descrito, há uma variável que ninguém esta vendo e é a própria variância. O fato da média ser diferente não necessariamente indica que há diferença nos salários reais dado a forma de identação usada, ai tem que analisar o desvio padrão, fazer testes estatísticos e mais algumas coisas para evidênciar melhor isso.

  • Claudio Roberto Cussuol

    Bom programadores se preocupam com a LÓGICA do código, pro resto tem ferramenta para cuidar e evitar que o cara gaste neurônio se preocupando com isso.
    Não me entendam mal, eu valorizo muito um código bem formatado. Se eu pego algum código de terceiros para dar manutenção a primeira coisa a fazer é formatar direito.
    Mas sinceramente, em tempos de Visual Studio e afins, basta apertar uma tecla e tá lá tudo bonitinho. Ou configurar ele para fazer automaticamente.
    A menos que vocês ainda programem no Notepad.

    • Wagner Felix

      afinal a diferença entre formatar com 4 espaços ou 1 tab são apenas 3 tecladas 😛

      • Claudio Roberto Cussuol

        Ou teclada nenhuma se você usar uma ferramenta minimamente decente.

        • Wagner Felix

          Eu estou mentalmente preso no século passado 😛

      • Tejobr

        Se não usa uma ferramenta que identa automaticamente e for apenas um “Hello World”, quase nada.

        Já se for fazer um Facebook, dá umas 50 tecladas extras.

  • Rin Tezuka

    Queria ver uma pesquisa sobre 4 ou 8 espaços.

  • Felipe Braz

    A grande vantagem das IDE’s modernas. Desenvolve como bem entende depois clica em “format code”. Todos ficam felizes.

    OBS: Tab é coisa de programador nutella

  • Gustavo Henriques Ross Anesi

    Selo de matéria nada ver conquistada com sucesso

  • Luiz

    A unica explicação plausivel é que o tab é o padrão e programadores preguiçosos ganham menos.

  • Cicero

    Correlações espúrias.

  • SiouxBR

    Eu uso TAB, porém configuro meus editores de texto para substituir os tabs por espaços automaticamente….

    • Bambino VJ

      Aqui também. Em qual categoria a gente se enquadra.. nos que ganham menos ou mais? hahahah

      • SiouxBR

        Infelizmente meu salário atual está mais para o dos TAB’s… 🙂

        E dos TAB’s brasileiros, por que os americanos estão recebendo muito bem…

    • Chicken Little

      Exatamente. Quem usa TAB não passou pela dor de desenvolver e dar manutenção de código Python em produção com equipe com mais de 3 pessoas.

      Cada um usa o que quiser, desde que a IDE padronize no final..

  • Jeferson Fiuza

    Que bosta de programador que usa espaço man? Ou deixa o código mau intentado ou fica apertado espaço igual um retardado. A pior coisa é pensar que isso tem alguma relação com salário. Nunca me perguntaram nas entrevistas se eu uso tab ou espaço. Escrevam coisas construtivas por favor.

  • Bambino VJ

    The treta has been planted! 😀

  • Kepler K

    Quem usa espaços não programa, edita textos. Programador de verdade usa tab. Nos velhos tempos, na época do computador movido a manivela, lembro-me que alguns editores de código convertiam espaços em tab ao salvar os arquivos. Era pra economizar espaço em disquete.

    • Andre

      Ouch, provou que não é programador com esse post.

  • tiago

    OU seja, quem usa espaço é mais descolado e aberto a novas possibilidades, enquanto quem usa TAB é mais caxias e focado no resultado, seria esse o resultado da pesquisa?

    • Gesonel o Mestre dos Disfarces

      Isso PODE ser uma possibilidade!

  • OverlordBR

    “Você não se torna programador, você NASCE PROGRAMADOR!” – Toledo, Bruno nos comentários do “maravilhoso” Giz.

    E tab é coisa de programador Bolsa Família.

  • SomeReader

    Por isto quase nunca ganhei dinheiro com programação. 🙁

    (Talvez o fato de eu só fazer programas para pais e amigos de forma gratuita possa ter relação tb.)

  • Gesonel o Mestre dos Disfarces

    Foi bom lembrar que correlação não implica em causalidade! não me surpreenderia se visse algum matéria jornalística dizendo que usar espaços aumenta o salário do programador.

    • Davi Leichsenring

      Se saísse essa notícia no jizmodo, não duvidaria….

  • Leda Ferreira

    Quando comecei a programar, há 11 anos atrás, eu usava tab porque imaginava que os arquivos ficariam menores (3 bytes a menos em cada identação). Mas aí vi que na maioria dos coding conventions e guidelines de projetos open source recomendavam espaços ao invés de tab, adotei essa prática. Foi um caso de seguir a maioria. Basta configurar os editores para converter tabs em 4 espaços.

  • Andre

    Acho que no fim a diferença de salário é por usuários que usam espaços saberem os problemas gerados pelo uso dos tabs, o que indicaria experiência em ambientes híbridos (windows e Linux), por tanto, maior conhecimento.

    Quem trabalha em um ambiente único, não precisa lidar com o problema de alinhamento causado pelos Tabs. Já quem trabalha em um ambiente windows mas fazendo release de código em ambiente Linux (ou vice-versa) aprende rapidinho a odiar tabs, pois essa migração de ambientes sempre deixa a indentação do código completamente zoneada. A solução no final das contas é todo mundo usar só espaços.

  • Douglas

    Várias IDEs convertem tabs para espaços, não?

  • Cristhian Suematsu

    Se não me falha a memória, o Visual Studio taca tab mesmo na identação automática e na manual. Mas a maioria das outras IDEs com que trabalhei usa espaços na autoidentação, e traduz a tecla tab para 3 ou 4 espaços por padrão.

    O primeiro problema do tab é que cada ferramenta de edição de texto define um espaçamento diferente para a exibição do caractere do tab. Isso pode prejudicar a legibilidade do código entre IDEs e editores de texto diferentes.

    O maior saco mesmo que essa “discórdia ideológica” pode causar na prática é a ferramenta VCS se perder no tiroteio de tabs e espaços quando faz os merges e rebases – no mínimo poluir o diff. Por isso que a IDE padronizar a edição do código ajuda a evitar esses cenários de caos. Se economiza 3 bytes ou mais acho argumento desnecessário, já que hoje em dia costuma-se tacar um minify em código que vai rodar em produção.

  • Tejobr

    É a clássica ciência das pesquisas inúteis.

    Está me parecendo código Cardosiano oculto.

Aproveite nossos cupons de desconto:

Cupom de desconto Locaweb, Cupom de desconto HP, Cupom de desconto Descomplica, Cupom de desconto Nuuvem, Cupom de desconto CVC, Cupom de desconto Asus, Cupom de desconto World Tennis