A Multidão Ainda Se Junta para Ver Código Feito à Mão
Ouvir o artigo (experimental) · 09:08

Uma das perguntas de programação mais lidas no Stack Overflow recentemente era sobre calcular à mão um CRC de 32 bits para um ficheiro PNG. 1.171 visualizações no seu contador público. A sua melhor resposta, um percurso paciente pela aritmética de polinómios, somou 27 pontos, um número que quase nada no site de hoje alcança. Ninguém precisa de fazer isto. A zlib calcula CRCs corretamente desde 1995, todas as bibliotecas de PNG à face da terra a embrulham, e qualquer modelo que consigas nomear cospe o código a funcionar antes de acabares de escrever a pergunta. Por todas as medidas económicas, o tema está resolvido, automatizado e encerrado.
Mais de mil pessoas vieram assistir na mesma.
Percorre o que mais atraiu multidões no site ultimamente e o padrão repete-se até deixar de parecer coincidência. O Jogo da Vida de Conway, um brinquedo de 1970, com 855 visualizações. "Should I make my own vector in C++ and use that more than the one built in?" (devo construir o meu próprio vector em C++ e usá-lo em vez do que vem incluído?) com 373, uma pergunta cuja resposta de manual é um não redondo, e cuja resposta verdadeira é que construir um é a maneira de descobrires o que o incluído anda a fazer. "What are the requirements for C code that can run without an operating system?" (quais são os requisitos para código C capaz de correr sem sistema operativo?) com 274. Uma thread sobre interrupções de hardware em modo protegido. Uma pergunta duplicada e fechada sobre como arranjar um compilador de C para o HelloWorld.c que ainda assim atraiu vinte e cinco comentários, e uma discussão sobre implementar encriptação pós-quântica em C puro que atraiu vinte e seis. Os andares de cima pertencem quase por inteiro a coisas que já ninguém é pago para construir de raiz: checksums, autómatos celulares, contentores, código de arranque, criptografia.
Escrevi num ensaio anterior sobre o que dizem agora os fechos do site: o miolo factual das perguntas e respostas de programação foi automatizado até deixar de ser escasso, e as perguntas que prosperam são as que as máquinas não conseguem resolver de vez. Mas os números de visualizações medem algo que escapa aos fechos. Uma pergunta fechada diz-te o que as pessoas já não precisam de perguntar. Mil e cem visualizações num CRC feito à mão dizem-te o que as pessoas ainda querem ver.
Uma nota metodológica, para que os números sejam honestos: as contagens de visualizações e as pontuações são contadores públicos em todas as perguntas do Stack Overflow, e os meus são um instantâneo do período em que estive a escrever isto. O padrão não depende do instantâneo. Olha para qualquer mês e as coisas feitas à mão flutuam.
Ninguém precisa do checksum
Sê preciso quanto ao que essas visualizações não são. Não são necessidade. Um programador que precise mesmo de um CRC em 2026 não lê uma resposta longa sobre divisão de polinómios; chama a função da biblioteca, ou pergunta ao modelo que tem ao lado e cola o resultado, e ambas são a jogada profissional correta. Se fosse a necessidade a conduzir aquele tráfego, a pergunta teria o público do mercado de trabalho do seu tema, ou seja, quase nenhum.
Também não são nostalgia, ou não são sobretudo isso. A nostalgia juntar-se-ia à volta das próprias tecnologias antigas, e não há multidão nenhuma a juntar-se à volta do Delphi ou do SOAP. A multidão junta-se especificamente à volta de fundamentos construídos à mão: o checksum calculado passo a passo, o vector implementado mal de propósito, o programa em C sem sistema operativo por baixo. Não coisas velhas. Coisas nuas.
A atividade humana mais próxima que encontro é ver um oleiro a trabalhar. A cerâmica industrial venceu há um século; o teu armário da loiça é a prova. E no entanto, põe uma roda de oleiro numa montra e as pessoas param de andar. Ninguém que assiste tenciona moldar a sua própria loiça de jantar. Assistem porque o processo é legível de uma forma que a fábrica não é, porque a perícia exercida às claras merece atenção por natureza, e porque uma parte de compreender prato só existe em ver um a ser feito. O pote não é o produto da demonstração. A imagem na cabeça de quem assiste é que é.
Essa última frase é a mesma a que continuo a chegar por outros caminhos. Quando defendi que ficar preso é o objetivo, a afirmação era que a compreensão se forma onde a tua imagem da máquina encontra a máquina e perde. Ver um CRC calculado à mão é a versão de espetador do mesmo acontecimento. O leitor daquela resposta não está a adquirir um checksum. Está a ver bits a atravessar um polinómio até a caixa preta com o rótulo "verificação de integridade" se tornar um mecanismo que ele segura nas mãos, e esse mecanismo transfere-se para todos os checksums, hashes e códigos de erro que encontrar daí em diante. A resposta é uma demonstração de que o chão por baixo das abstrações é sólido e dá para caminhar. Não precisas de o percorrer todos os dias. Precisas de o ter percorrido uma vez.
O perguntar foi-se, o ver ficou
Eis a divisão que esses números tornam visível. O perguntar foi em grande parte para as máquinas, e assim devia ser. Perguntar é necessidade, a necessidade quer velocidade e privacidade, e um modelo entrega ambas sem julgamentos às três da manhã. O ver ficou humano, e acho que ficou por uma razão que importa a qualquer pessoa que escreva ou ensine: ver é como as coisas profundas realmente se propagam. Sempre foi. A aula, a master class, a sessão de pair programming, a demonstração de live coding na conferência de que toda a gente ainda se lembra anos depois, tudo isso é a roda do oleiro, perícia tornada legível em movimento. O formato de resposta do Stack Overflow, no seu melhor, sempre esteve mais perto disso do que de uma tabela de consulta, e a multidão está a votar exatamente nas respostas que encenam a compreensão em vez de se limitarem a entregá-la.
O que reenquadra para que serve uma pergunta como "devo construir o meu próprio vector". Lida como um pedido de decisão, é trivialmente respondível e ligeiramente embaraçosa, e era por isso que a velha constituição mantinha perguntas destas à distância. Lida como aquilo que realmente é, um convite para alguém com perícia desmontar a máquina em público, está entre as coisas mais valiosas que restam no site. A resposta de 27 pontos sobre o CRC não foi escrita para quem perguntou. Foi escrita para os mil e cem, e os mil e cem souberam aparecer.
Fiz a mesma aposta com o meu próprio conselho de aprendizagem do ofício: aprende a programar precisamente porque as máquinas sabem, já que o valor passou de produzir o artefacto para segurar a imagem. Estes números são o argumento desse ensaio a correr em estado selvagem, com números de visualizações. Quando gerar passou a ser grátis, o artefacto deixou de atrair a multidão. O fazer continuou a atraí-la.
Escreve para quem assiste
Se fazes coisas, há uma conclusão prática escondida nesses números. A demonstração feita à mão não é conteúdo obsoleto; é quase o único conteúdo cujo público as máquinas não absorveram, porque o seu valor nunca esteve no resultado. Ninguém vai alguma vez precisar do teu CRC feito de raiz, do teu alocador de brinquedo, do teu renderer construído numa semana de férias. Publica o fazer dele na mesma, com o raciocínio à vista, com os caminhos errados lá deixados. O modelo ao lado de toda a gente tomou conta da distribuição de respostas, e que fique com esse trabalho, faz-lhe bom proveito. Aquilo de que não tomou conta é a montra, a roda, o barro, e a pequena multidão que ainda para, com toda a fiabilidade, mil pessoas numa terça-feira, para ver alguém que sabe o que está a fazer a fazer uma coisa à mão.
Perguntas a que este artigo responde
Porque é que as pessoas ainda leem sobre fazer coisas à mão se a IA as faz num instante?
Porque o valor da demonstração nunca esteve no resultado. Um programador que precise mesmo de um CRC chama a função da biblioteca ou pergunta ao modelo que tem ao lado, e ambas são a jogada profissional correta; as mil e tal pessoas que leem um CRC calculado à mão estão a ver uma caixa preta com o rótulo de verificação de integridade tornar-se um mecanismo que seguram nas mãos. O paralelo humano mais próximo é o oleiro numa montra: a cerâmica industrial venceu há um século e as pessoas continuam a parar de andar.
Isto não é só nostalgia da tecnologia antiga?
Não, ou não sobretudo. A nostalgia juntar-se-ia à volta das próprias tecnologias antigas, e não há multidão nenhuma a juntar-se à volta do Delphi ou do SOAP. O que atrai as visualizações são fundamentos construídos à mão: o checksum calculado passo a passo, o vector implementado mal de propósito, o programa em C sem sistema operativo por baixo. Não coisas velhas, coisas nuas.
Vale a pena construir o meu próprio vector, alocador ou checksum de raiz?
Lida como um pedido de decisão, a resposta é um não redondo, e era por isso que a velha constituição do Stack Overflow mantinha estas perguntas à distância. Lida como aquilo que realmente é, um convite para alguém com perícia desmontar a máquina em público, está entre as coisas mais valiosas que restam no site. 373 pessoas foram ver aquela pergunta sobre o vector, porque construir um é a maneira de descobrires o que o incluído anda a fazer. Não precisas de percorrer esse chão todos os dias; precisas de o ter percorrido uma vez.
O que vale a pena publicar quando um modelo responde a todas as perguntas?
Publica o fazer, com o raciocínio à vista e os caminhos errados lá deixados. O modelo tomou conta da distribuição de respostas e que fique com esse trabalho, mas não tomou conta da montra, e a demonstração feita à mão é quase o único tipo de conteúdo cujo público não absorveu. A resposta de 27 pontos sobre o CRC não foi escrita para quem perguntou; foi escrita para os mil e cem, e os mil e cem souberam aparecer.
Ler a seguir
AIUm Conto de Duas Perguntas sobre o Claude Code
O mesmo site, a mesma ferramenta, as mesmas poucas semanas. Uma pergunta fechada a menos oito, uma resposta votada até às alturas. A diferença entre elas é o conselho de escrita mais útil da era da IA.
AIAs Perguntas Que o Stack Overflow Agora Premeia
Uma tag executada em 2010 está de volta a perguntas ativas, o pedido de ajuda de um estudante superou os segfaults, e a comunidade está a renegociar em público a sua regra mais antiga. O que o regresso das perguntas banidas diz sobre o Q&A depois de os factos terem sido automatizados.