Eu costumo ouvir regularmente o podcast do StackOverflow. Em geral, quando fazem entrevistas, estas são bastante divertidas. O podcast é apresentado por Joel Spolsky e Jeff Atwood. Joel tem suas idiossincrasias, mas em geral é alguém a quem vale a pena escutar. O ruim é ter de ouvir Jeff também. Joel é ordens de magnitude melhor que Jeff e ambos sabem disso. Jeff é alguém que gostaria de ser Joel. Se Joel fosse o Batman, Jeff seria o Robin.
Uma das minhas primeiras experiências com as limitações de Jeff foi uma discussão em que ele afirmou que todos os programadores do mundo conversam entre si em inglês e que sem inglês não seria possível programar, já que as palavras-chave das linguagens são em inglês. Joel corretamente argumentou que isso não é verdade, e que dois programadores alemães trabalhando na Alemanha conversariam entre si em alemão, o que parece óbvio. Outro argumento do Jeff é de que seria difícil falar outra língua tendo de usar termos em inglês como “linked list” o tempo todo. Ele não conseguia imaginar que em outras línguas existissem termos equivalentes como, no caso, “listas encadeadas”. Joel tentou explicar isso, mas Jeff continuou irredutível e terminou afirmando que qualquer programador que fale outra língua que não o inglês seria um programador de segunda linha.
Eu deveria ter me sentido ofendido, acho, mas não me senti. Simplesmente percebi que tratava-se de uma pessoa limitada. Alguns meses mais tarde, por ocasião de um evento na Europa, Jeff comentou que recebera seu passaporte. Joel expressou surpresa por ele ainda não ter um passaporte até então e eventualmente deu uma cutucada: “Ah, aí está a razão por você achar que todo o mundo fala inglês”. Joel evita dar muita cutucada em Jeff. Normalmente ele simplesmente se cala quando aquele diz algo muito fora da casinha. Isso faz com que as vezes em que as cutucadas aparecem sejam bem mais divertidas.
Jeff nunca conseguiu aprender C. De acordo com ele mesmo, ele diz que não conseguia entender a lógica de alocações de memória. Jeff defende-se dizendo que em pleno século XXI isso não é necessário. Embora eu concorde que hoje em dia a maioria absoluta dos programadores não precisa (nem deveria) escrever em linguagens que não lidem com isso automaticamente, eu ainda acho que o conhecimento é necessário. Mas é opinião pessoal. De qualquer forma, sempre contou contra Jeff para mim.
Mas de longe o que mais me incomoda em Jeff nos podcasts é que sempre que se fala sobre alguma técnica de programação, invariavelmente Jeff vem e começa a dizer algo assim:
“Eu acho que é uma grande idéia para a maioria dos programadores. A maior parte dos programas se beneficia. O problema é que para quem trabalha com aplicações mais avançadas e complexas como o StackOverflow sabe que isso não funciona assim. A complexidade chega a um ponto em que você precisa repensar tudo isso.”
O problema disso é que, além da óbvia arrogância de quem se considera fora da curva, o StackOverflow é essencialmente um programinha web de perguntas e respostas. Nada mais. Jeff não está criando um sistema operacional ou um compilador. Ele está programando um cadastrinho de perguntas.
Acreditar que um programa de cadastro é algo absurdamente complexo me diz muito sobre a qualidade dele. Eu entendo que há mais que simplesmente um cadastro. Sei que há vários detalhes para lidar com milhares de acessos simultâneos e tudo o mais. Mas se isso qualifica uma aplicação como uma exceção de complexidade, então temos problemas sérios no mundo da engenharia de software.
Enviado via email do Posterous
Nunca tive curiosidade de ouvir o podcast, mas cheguei na mesma conclusão comparando os blogs. Sempre consigo ler e no geral gosto bastante do que o Joel escreve, mas consigo ler pouca coisa que me prenda no coding horror.