Cotando novamente para contexto e compreensão mais fácil:
"A depuração é duas vezes mais difícil do que escrever o código em primeiro lugar. Portanto, se você escrever o código da maneira mais inteligente possível, você não será, por definição, inteligente o suficiente para depurá-lo."
O que Brian Kernighan escreveu aqui obviamente se refere à convolução, e ele erroneamente usou a palavra inteligente.
"A depuração é duas vezes mais difícil do que escrever o código em primeiro lugar. Portanto, se você escrever o código o mais complicado possível, por definição, você não é inteligente o suficiente para depurá-lo."
Convolução:
A thing that is complex and difficult to follow.
Esperto:
Showing intelligence or skill; ingenious
Programadores instruídos sabem que código simples é engenhoso. Um código o mais inteligente possível deve ser simples por definição. Programadores educados também evitarão trabalhar e escrever código complicado como a praga. Eles também transformarão código complicado em código inteligente sempre que tiverem a chance. O código geralmente começa complicado e aborda a esperteza, à medida que o conhecimento sobre o domínio e a compreensão da capacidade cognitiva humana na programação é melhor compreendido através da experiência e do conhecimento compartilhado.
Devido à popularidade dessa citação e ao Brian Kernighan ser bastante popular na indústria, esse uso indevido da palavra tem um impacto social negativo e eu sinceramente gostaria de ver isso abordado pelo próprio homem. Antes de escrever este artigo, tentei ver se podia simplesmente enviá-lo por e-mail, mas não consegui encontrar nenhuma informação de contato por e-mail que entendesse :(.
O impacto social negativo que tenho visto é de outros programadores que ostracizam com seus colegas mais inteligentes, porque agora veem a inteligência como um problema. O verdadeiro problema são os colegas estúpidos que pensam que estão sendo espertos, fazendo as coisas de uma nova maneira unidiomatic, e constantemente inventando coisas novas quando não há vantagem em vez de obter e entender a comunidade maior e reutilizar idéias inteligentes o máximo possível.
Preciso esclarecer que, muitas vezes, obter entendimento é mais difícil do que inventar o seu. Por causa do problema comum na indústria de prazos irreais, inventar o seu próprio para um problema de nicho menor será usado para economizar tempo. Isso se baseia na observação de que coisas úteis e reutilizáveis geralmente têm como alvo um nicho maior ou fornecem uma abstração útil para a invenção. Também se baseia no fato de que as pessoas visam nichos grandes para ganhar mais dinheiro, quando isso geralmente torna a ferramenta extremamente difícil de usar devido à complexidade envolvida em tornar algo utilizável para uma ampla área de aplicativos.
O outro impacto social negativo é que isso impede o progresso e o desejo de compreender, porque em nosso mundo egocêntrico imediatamente negaremos nossa própria falta de entendimento e anularemos o código de como sendo complicado, mesmo que, uma vez entendida, a idéia seja realmente bastante inteligente.
TODO Gostaria de citar algumas referências, mas também gostaria que a falta de referências não impedisse minha capacidade de compartilhar informações, por isso cito rapidamente o que me lembro como as fontes de minhas informações e talvez eu encontre as informações reais dia (ou você pode encontrar para mim! :)
- A palestra de Guido Van Rossum sobre loops de eventos e como ele os entendeu
- Um funcionário do GitHub que afirmou que evita contratar pessoas inteligentes no Y-Combinator
- Grande parte da discussão e aprendizado que ocorre na comunidade Python. A comunidade Python é especialmente crítica em relação a novas idéias, mas não descarta novas idéias que eles não entendem de imediato, e normalmente você pode ver os recursos que foram inicialmente considerados complicados e a luz do dia como um recurso / pacote da linguagem principal.
- Minha própria experiência e opinião profissional com base em minhas observações de 10000 pés. No entanto, não consigo ver as especificidades a serem esclarecidas :( Esperemos que sua experiência e observação lhe digam a mesma coisa e que alguém possa comentar abaixo para dar algum mérito a esta resposta.
Sinta-se livre para adicionar suas próprias citações! Além disso, fique à vontade para adicionar vírgulas ao meu texto. Não atualizo meu conhecimento sobre o uso de vírgula em inglês há algum tempo ...