Lembra que na semana passada eu disse que a codificação estava apenas escrevendo?
Eu estava errado. Como observou um comentarista, é ainda mais simples do que isso.
[This] me faz lembrar de um verdadeiro “momento Dilbert” há alguns anos, quando meu chefe (obviamente não técnico) comentou que nunca entendeu por que demorava meses para desenvolver um software. “Afinal de contas”, disse ele, “é só digitar”.
Como os relógios quebrados, até mesmo os gerentes de cabelo pontudo estão certos uma vez por dia. Codificar é apenas digitar.
Portanto, se o senhor quiser se tornar um ótimo programador, comece por se tornar um ótimo digitador. Basta perguntar a Steve Yegge.
Não consigo entender por que os programadores profissionais se permitem ter uma carreira sem aprender a digitar. Isso não faz sentido. É como ser, sei lá, um ator sem saber como vestir suas roupas. É aparecer no jogo sem estar preparado. É chegar a uma reunião sem seus slides. Ir para a aula sem a lição de casa. Nadar nas Olimpíadas usando um par de shorts Eddie Bauer Adventurer.
Vamos encarar os fatos: é preguiçoso.
Simplesmente não há desculpas para isso. Não há desculpas. Tenho um amigo, John, que só consegue usar uma das mãos. Ele digita a 70 ppm. Ele inventou sua própria técnica para isso. Ele não está inventando desculpas; ele está digitando em círculos ao redor das pessoas que estão inventando desculpas.
Tive uma breve troca de e-mails com Steve em março de 2007, depois de ter escrito Abaixe o mouseonde ele colocou esse mesmo Citação de Reservoir Dogs sobre mim. O de Steve publicação de acompanhamento no blog demorou muito para chegar. Espero que o senhor não se importe, mas gostaria de citar dois trechos diretamente de suas respostas por e-mail:
Eu estava tentando descobrir qual é o curso de ciência da computação mais importante que um estudante de ciência da computação poderia fazer e acabei percebendo que é o curso de digitação 101.
Os engenheiros realmente excelentes que conheço, aqueles que criam coisas excelentes, sabem digitar.
De fato, afirmações fortes. Concordo com o senhor. Somos primeiro digitadores e depois programadores. É muito difícil para mim levar outro programador a sério quando o vejo usando o técnicas de digitação hunt and peck. Como Steve, já vi isso com muita frequência.
Primeiro, é preciso um pouco de honestidade. Ao contrário de Steve, sou um digitador totalmente autodidata. Não tive nenhuma aula de digitação no ensino médio. Antes de escrever esta publicação no blog, percebi que deveria verificar se não sou totalmente hipócrita. Então, fui ao o primeiro resultado da pesquisa para o teste de digitação e experimentei.
No entanto, não sou de forma alguma o digitador mais rápido do mundo Eu jogo um bom jogo de Digitação dos Mortos. Gostaria de enfatizar que não se trata de um concurso de digitação. Eu só queria ter certeza de que não estava falando besteira antes de postar isso. Sim, há uma primeira vez para tudo. Talvez isso seja o início de uma tendência. Duvido, mas nunca se sabe.
Steve e eu acreditamos que não há nada mais fundamental na programação do que a capacidade de se expressar com eficiência por meio da digitação. Observe que eu disse “eficientemente” e não “perfeitamente”. Trata-se de competência razoável em uma disciplina essencial de programação.
Talvez o senhor não esteja convencido de que a digitação seja uma disciplina essencial da programação. Não o culpo, embora eu me reserve o direito de perguntar como o senhor consegue programar sem usar o teclado.
Em vez de responder diretamente, deixe-me compartilhar com o senhor um dos meus (muitos) problemas pessoais. Pelo menos quatro vezes por dia, eu entro em uma sala com o senhor e o senhor está falando. não faço a menor ideia por que entrei naquela sala. Quero dizer, nenhuma ideia mesmo. É como se, de alguma forma, eu tivesse sido teletransportado para aquela sala por uma civilização alienígena. Infelizmente, a verdade é muito menos emocionante. Eis o que aconteceu: no breve tempo que levei para me levantar e ir do ponto A ao ponto B, esqueci completamente o que quer que tenha me motivado a me levantar. Ah, claro, vou dar uma olhada no meu cérebro para tentar lembrar o que eu precisava fazer naquela sala. Às vezes me lembro, às vezes não. No final, geralmente acabo fazendo várias viagens para lá e para cá, lembrando-me de outra coisa que o deveria ter feito enquanto eu estava naquela sala, depois de já ter saído dela.
Isso tudo é muito triste. Espero que seu cérebro tenha uma pilha de tarefas mais eficiente do que o meu. Mas não culpo meu cérebro – culpo meu corpo. Ele não consegue acompanhar o ritmo. Se eu tivesse chegado mais rápido, não teria tido tempo para esquecer.
O que estou tentando dizer é o seguinte: a velocidade é importante. Quando o senhor é um digitador rápido e eficiente, gasta menos tempo entre pensar esse pensamento e expressá-lo em código. O que significa, pelo menos para mim, que o senhor pode realmente conseguir alguns de suas ideias gravadas na tela antes que o senhor perca completamente a linha de raciocínio. Mais uma vez.
Sim, o senhor deve pensar no que está fazendo, obviamente. Não digite qualquer coisa aleatória o mais rápido que puder na tela, a menos que o senhor seja um programador Perl. Mas se todas as outras coisas forem iguais – e elas nunca são – o senhor digita por toque irá terá uma vantagem. A melhor maneira de se tornar um digitador é digitar, e muito. Um pouco de pesquisa e prática estruturada também não fazem mal. Aqui estão alguns links que podem ser de interesse para o aspirante a digitador:
(Mas essa é uma lista escassa e incompleta. Quais ferramentas o o senhor recomenda para que o senhor se torne um melhor digitador?)
Há muito pouco que um programador pode fazer sem tocar no teclado; ele é a principal ferramenta de nosso ofício. Eu acredito no praticar os fundamentose as habilidades de digitação são fundamentais para os programadores.
Viva os digitadores!