Executando verificação de segurança...
11

Artigos para cientistas da computação que brigam na rua

Tem gente que acha que a era do Vibe Code diminuiu a importância dos fundamentos. O contrário.

Quando gerar código vira commodity o gargalo é abstração, modelo mental, arquitetura, representação, semântica. O profissional que continua relevante é o que sabe enquadrar o problema e reconhecer quais ideias continuam mandando no jogo por baixo de todo o barulho.

Essa é uma lista de textos que mudaram o que a computação pode pensar sobre si mesma. O ponto de ler o paper original não é aprender o conceito, pra isso existem livros, cursos, tutorial. O ponto é ver como o gênio maldito que criou a coisa pensava. Como enquadrou o problema. Como cortou o ruído. Como viu uma estrutura que ninguém mais estava vendo. Você lê o paper original para quem sabe aprender a pensar um pouco mais como quem realmente mudou a área.

Imprima. sublinhe. anote nas margens. pesquise os termos que não entende. releia o parágrafo que não fez sentido três vezes. discuta com colegas.lLeia outras publicações do autor. Entenda o que existia antes e o que mudou depois.

Combate corpo-a-corpo

a porradaria pré-silício. os textos que construíram o chão onde a luta acontece. quem não leu ainda não está brigando; está apanhando sem nem entender de onde.

  • Leibniz, "Explication de l'Arithmétique Binaire" (1703). enquanto nossos ancestrais jogavam fezes pela janela, leibniz estava inventando o sistema numérico binário. Este é o núcleo e átomos da máquina.

  • Turing, "On Computable Numbers, with an Application to the Entscheidungsproblem" (1936). o problema da parada. o artigo que inventou o computador de propósito geral por acidente. Se você nunca leu Turing sua ideia de “o que é computar” ainda é terceirizada.

  • Church, "An Unsolvable Problem of Elementary Number Theory" (1936) o cálculo lambda. publicado no mesmo ano que a maquina de Turing. eles independentemente provaram a mesma coisa de direções opostas.

  • Shannon, "A Mathematical Theory of Communication" (1948). o big bang da teoria da informação. a palavra "bit" foi inventada neste artigo. se você está movendo dados por um cabo e não entende entropia você ainda não aprendeu nada.

  • Chomsky, "Three Models for the Description of Language" (1956). quando um linguista propos modelos formais para descrever as linguas humanas e sem saber criou o vocabulário sobre o qual todas as linguagens de programação foram construídas.

Usando o soco inglês

  • Dijkstra, "A Note on Two Problems in Connexion with Graphs" (1959) caminho mínimo. três páginas. redes, roteamento, mapas, planejamento, otimização.

  • Hoare, "Quicksort" (1962) o algoritmo de ordenação padrão pelas próximas seis décadas. todo binário carrega alguma implementação desse truque. melhor entender do que fingir que é milagre divino.

  • Codd, "A Relational Model of Data for Large Shared Data Banks" (1970). Nossos bancos de dados favoritos são apenas teoria dos conjuntos implementada em C. aceite e estude.

  • Bayer e McCreight, "Organization and Maintenance of Large Ordered Indexes" (1972). a árvore B. toda imlementação de bancos de dados e sistemas de arquivos usa alguma variação dessa ideia.

  • Cerf e Kahn, "A Protocol for Packet Network Intercommunication" (1974)
    TCP. A internet. É isso. Se você acha que a nuvem é mágica, leia isso e entenda que ela é feita de pacotes implorando para não serem dropados.

  • Rivest, Shamir e Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" (1978). rsa. o paper que tornou possível o e-commerce e a comunicação segura na internet.

Afiando o canivete

  • Royce, "Managing the Development of Large Software Systems" (1970). o paper eternamente citado por gente que nunca o leu. ficou conhecido por criar o "waterfall", mas o próprio texto já alerta que o fluxo sequencial puro é catastrófico.

  • Parnas, "On the Criteria To Be Used in Decomposing Systems into Modules" (1972). modularidade aqui deixa de ser estética e vira critério de sobrevivência. não é só quebrar o sistema em partes; é decidir como quebrar.

  • Thompson e Ritchie, "The UNIX Time-Sharing System" (1974). a fundação da nossa religião. a filosofia de fazer uma coisa só e fazer bem feito. o sistema operacional que eles construíram em um computador sucateado sobreviveu a todas as modas corporativas e hoje roda desde o roteador da sua casa a todos os servidores do planeta. ajoelhe-se.

  • Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System" (1978)
    campeão peso-pesado. o tempo absoluto é uma ilusão. se você constrói microsserviços sem ler isso você está construindo bugs distribuídos.

  • Backus, "Can Programming Be Liberated from the von Neumann Style?" (1978). o cara que inventou o FORTRAN usou seu discurso do Prêmio Turing para dizer ao mundo que a programação imperativa era um beco sem saída. a semente da programação funcional moderna. leia isso para entender matematicamente por que você odeia gerenciar estado.

  • Thompson, "Reflections on Trusting Trust" (1984) outra palestra do Turing Award. como inserir um backdoor no compilador C que se auto-replica. Em três páginas destrói a noção de que você pode confiar em software que não escreveu. O paper de segurança mais aterrorizante já escrito e um dos menos compreendidos.

  • Brooks, "No Silver Bullet" (1986). o sermão permanente contra toda superstição tecnológica da área. não existe ferramenta, metodologia ou mascote capaz de remover a dificuldade essencial de fazer software. aparentemente cada geração precisa reaprender isso do zero.

  • Merkle, "A Digital Signature Based on a Conventional Encryption Function" (1987)
    a árvore de merkle. a capacidade de verificar estado de forma imutável e eficiente. git, torrents, bitcoin. toda infraestrutura que se recusa a ser corrompida usa essa ideia.

Brigando nas ruas

  • Aleph One, Smashing the Stack for Fun and Profit (1996). o texto que ensinou uma geração inteira a explorar stack buffer overflows. boa parte da cultura de segurança ofensiva e defensiva passa por aqui.

  • Brin e Page, "The Anatomy of a Large-Scale Hypertextual Web Search Engine" (1998). o paper original do Google. PageRank. dois doutorandos de Stanford mostram como indexar a Internet inteira é um problema trivial.

  • Lattner e Adve, "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation" (2004). um projeto de mestrado que acidentalmente reescreveu toda a indústria de compiladores do planeta.

  • Chang et al., "Bigtable: A Distributed Storage System for Structured Data" (2006). o paper que inventou o NoSQL antes disso ser uma palavra. mil imitadores descendem disso.

  • Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System" (2008). ninguém sabe quem escreveu. o único sistema bancario do planeta que funciona há mais de 15 anos sem nenhum downtime.

Pancadaria no escuro

a máquina aprendeu a ver, a ler, a escrever, a programar mas se você usa AI sem ter entendido esses conceitos você está pilotando um avião sem saber o que é sustentação.

  • Turing, "Computing Machinery and Intelligence" (1950). o cara que inventou a computação volta para fazer a pergunta que lançou a inteligência artificial. todo mundo fala do teste de Turing, quase ninguém leu o paper original. ele já antecipa e destrói metade dos argumentos contra AI que as pessoas repetem até hoje. leia antes de opinar sobre ChatGPT.

  • Rumelhart, Hinton e Williams, "Learning Representations by Back-Propagating Errors" (1986). backpropagation. a regra da cadeia aplicada com violência industrial. sem backprop não existe deep learning, não existe GPT, não existe essa conversa.

  • LeCun et al., "Gradient-Based Learning Applied to Document Recognition" (1998). uma rede neural com perfomance melhor que que humanos e o mundo parece ainda não perceber a implicação.

  • Krizhevsky, Sutskever e Hinton, "ImageNet Classification with Deep Convolutional Neural Networks" (2012). AlexNet. deep learning. transformou uma fabricante de plaquinhas de videogame na empresa mais podereosa do planeta com duas GPUs velhas.

  • Vaswani et al., "Attention Is All You Need" (2017). o transformer. esse paper é a razão pela qual você tá lendo essa lista preocupado com seu emprego.


Não tem links. Tenho preguiça, claro, mas não só isso. Quem só sabe consumir material mastigado ainda não terminou o aquecimento. Agora encaderne essas merdas com fita isolante e vá brigar nas ruas. A máquina está lá te esperando.

Carregando publicação patrocinada...
1

pô, muito legal esse artigo. concordo que a leitura dos papers originais muda a nossa visão, principalmente quando a gente tá tão imerso em soluções prontas. na real, já peguei algumas pérolas em papers que me ajudaram a entender problemas complexos de uma forma que livros não conseguiram transmitir. e você, já teve essa experiência de ler algo que realmente fez a diferença na sua abordagem?