Wadler segue os gigantes da ciência

Wadler segue os gigantes da ciência

A carreira estelar de uma luz de liderança no desenvolvimento da Cardano está sendo marcada com a bolsa da Royal Society, a mais antiga academia científica do mundo

5 de julho de 2023 Anthony Quinn 17 minutos de leitura

O professor Philip Wadler será conhecido por muitos usuários da Cardano como o co-criador (junto com Manuel Chakravarty) de Plutus, a linguagem de programação inteligente da blockchain. Seu trabalho em linguagens de computador e programação funcional resultou em cargos de professor, muitos prêmios e bolsas da Royal Society de Edimburgo. Qualquer um que tenha usado Java, Haskell ou XQuery, na verdade qualquer linguagem funcional, se beneficiou do trabalho de Wadler.

Este mês, ele se juntará a gigantes anteriores da ciência – incluindo Newton – para ser nomeado membro da Royal Society, a mais antiga academia científica do mundo. Ele será um FRS.

Este prêmio é a prova de uma carreira que abrange a era do microprocessador e a proliferação das tecnologias digitais. O efeito dos acadêmicos é medido pelo sistema h-Index: após 20 anos de pesquisa, uma pontuação de 20 é boa, 40 é excelente e 60 é excepcional. A pontuação de Wadler é 73, com base em seu trabalho ter sido citado 26.981 vezes em artigos e livros publicados.

Sua biografia afirma que ele ‘gosta de introduzir a teoria na prática e a prática na teoria’, e ele certamente fez isso. Ele foi assistente de pesquisa na Universidade de Oxford e ganhou sua primeira cátedra em Glasgow – onde foi um dos principais designers de Haskell. Ele então trabalhou na Bell Labs e Avaya Labs. Desde 2003, Wadler é professor de ciência da computação teórica na Escola de Informática da Universidade de Edimburgo.

‘Acredito fortemente em ser exposto tanto à teoria quanto à prática’, diz Wadler. ‘A importância de considerar ambos em conjunto é um tema que você encontra ao longo da história da ciência, de Blaise Pascal [o matemático e filósofo francês que lançou as bases para a teoria das probabilidades] a Robin Milner [que ajudou a projetar a linguagem ML, uma precursor de Haskell, em Edimburgo].’

Ele vê a enorme vantagem da academia como 'Você começa a ensinar. Trabalhar com jovens ajuda a pessoa a se sentir jovem, e o ensino aprimora as habilidades de comunicação.

‘Estou muito feliz por ter sido convidado para muitas conferências industriais, e os jovens desenvolvedores que falam lá são inteligentes e inspirados – mas apenas alguns deles aprenderam a se comunicar de forma eficaz.’

A importância de escrever com clareza foi incutida no jovem Wadler quando ele contribuiu com um artigo para a American Mathematical Society. Era 1975 e ele o escreveu depois de participar de um curso para alunos do ensino médio na Universidade da Califórnia em Berkeley. 'Tentei defini-lo da maneira mais geral possível, mas meus mentores me avisaram que isso o tornava incompreensível! Eles me fizeram reescrever de uma maneira mais concreta que o tornasse mais acessível.

‘Ouvir como é importante tornar o trabalho fácil para seus leitores seguirem ficou comigo como uma lição vital.’

Compreender o mundo de Wadler é descobrir um vocabulário de cálculo lambda, rastreamento de culpa, digitação gradual, classes de tipos e mônadas. É um lugar onde a apatia é melhor do que a preguiça e, se você vai ser preguiçoso, deve fazê-lo com classe. A maioria das pessoas nunca se deparará com esses termos, mas ele seguiu o conselho de tornar as ideias fáceis de serem seguidas. O humor em muitos de seus trabalhos acadêmicos e seu estilo envolvente de apresentação de palestras são evidências disso. Títulos como ‘Um guia idiomático para formlets’, ‘Restos de curry e pizza reaquecida’ e ‘Et tu, XML?’ são difíceis de esquecer. E suas participações em palestras fantasiadas de Lambda Man são inesquecíveis.

No coração do Vale do Silício

Wadler foi para a escola em Cupertino High, na área da Baía de São Francisco, na Califórnia, que estava se tornando o Vale do Silício. Ele pensou que seria matemático, ‘Mas era mais fácil conseguir um emprego de codificação e mais lucrativo.’ Ele credita três primeiros professores, ‘especialmente o Sr. Simons e o Sr. Grote, que ensinaram matemática na escola, e Gerald Alexanderson, que ensinou cálculo na Universidade de Santa Clara em um curso que frequentei’.

Ele se formou em matemática em Stanford em 1977. No ano anterior, Steve Wozniak e Steve Jobs começaram a comercializar seu kit Apple I com seu chip 6502 de 8 bits da MOS Technology e 4 KB de memória de usuário. Donald Knuth está no terceiro volume de sua obra de programação (a seção mais recente saiu no ano passado). É a era do Fortran, Cobol, Lisp e Algol; Forth, Pascal e C são relativamente recém-chegados. Xerox Parc está desenvolvendo SmallTalk. Os microcomputadores ainda não chegaram e popularizaram o Basic. Os engenheiros ainda carregam réguas de cálculo. Faltam dois anos para o livro clássico de Douglas Hofstadter, Gödel, Escher, Bach (conhecido como GEB ); quatro anos antes do BBC Micro da Acorn e do PC da IBM. Tim Berners-Lee está estudando física em Oxford e a décadas de propor a WorldWide Web.

A maioria desses momentos marcantes tem uma referência na história pessoal de Wadler. Seu próximo artigo foi escrito quando ele estava em seu segundo ano na Universidade de Stanford – para uma aula dada por Knuth. Foi um tempo formativo. ‘A aula de Knuth sobre estruturas de dados, ministrada em seu livro didático, foi uma fantástica experiência de aprendizado. Entre outras coisas, ele nos deu algumas páginas de anotações sobre como escrever textos matemáticos. Essas notas marcaram o início da minha carreira acadêmica. Eu me refiro a eles até hoje.’

O artigo ‘Análise de um algoritmo para coleta de lixo em tempo real’ ganhou o primeiro de muitos prêmios para Wadler: o prêmio Forsythe de artigo estudantil da Association for Computing Machinery (ACM), a sociedade científica sediada nos Estados Unidos.

A aula mais influente em Stanford foi uma introdução à economia. “Não me lembro do nome do professor, mas uma pesquisa na web sugere que era John Gurley. Ele era uma mistura dos dois Marxes, Karl e Groucho. Ele conhecia suas coisas e as apresentava em um estilo altamente divertido. Ele nos ensinaria economia direta. Então, a cada duas semanas, ele dizia “Eu tenho ensinado a vocês a teoria padrão, agora vou dizer a verdade” e nos dava uma perspectiva marxista. O que tirei disso foi a importância de apresentar de forma justa pontos de vista opostos.

‘Embora ele pensasse veementemente que a visão padrão estava errada, ele queria apresentá-la a nós corretamente.’

Outros palestrantes incluíram John McCarthy e Vint Cerf – um dos fundadores da internet – assim como Knuth. 'Uma coisa vital que aprendi com todos os três foi a importância do humor em seu trabalho. Vint é sobrinho de Bennett Cerf [ o humorista e colecionador de limericks], e mostrou. Quando Vint explicou a internet para mim, ele citou a ópera HMS Pinafore de Gilbert e Sullivan , cantando “Isso perde algum pacote? Nunca. O que nunca? Bem, quase nunca”.

McCarthy, um pioneiro no campo da inteligência artificial, ensinou Wadler ‘como programar em Lisp’. Ou seja, aprendi a essência da programação funcional.’

Enquanto estava em Stanford, Wadler participou de reuniões do Homebrew Computer Club . ‘Um dia, um sujeito apareceu com uma única placa que você poderia conectar a uma TV e um teclado. Acabou sendo o Apple I. O homem que nos mostrou provavelmente era Wozniak, mas eu estava concentrado no computador e não prestei atenção no homem atrás da máquina. Espero ter ficado mais atento às pessoas desde então.’

Outra aula foi ministrada por Hofstadter a partir do rascunho do GEB , que ainda não havia sido publicado. Quando o livro foi lançado em 1979, suas páginas atribuíram a Wadler a “ressonância” com Hofstadter. ‘Eu estava insanamente orgulhoso disso.’ O colega de quarto de Wadler, o artista gráfico Scott Kim, foi reconhecido no livro como uma “influência gigantesca”.

Wadler trabalhou como estagiário de verão na Xerox Parc. Lá, ele implementou um simulador em uma versão inicial do Smalltalk, ‘que era um sistema minúsculo e elegante’. Houve ‘muita discussão sobre os ‘dynabooks’, que ainda não existiam, mas são o que hoje chamamos de laptops’.

Em Carnegie-Mellon, onde Wadler estudava inteligência artificial, Herbert Simon, ganhador do Prêmio Nobel, foi o supervisor de Wadler nos primeiros dois anos. Isso levou ao foco de Wadler em linguagens de programação. “Cheguei à conclusão de que a parte da IA ​​que mais me interessava era como representar informações, e pensei que as linguagens de programação abordassem isso de forma mais direta. Mais uma vez, tive uma sorte incrível com as pessoas com quem trabalhei, primeiro Simon e depois Bill Scherlis, Guy Steele Jr e Nico Habermann.’

O PhD de Wadler foi obtido da Carnegie Mellon com ‘Listlessness is better than laziness: um algoritmo que transforma programas aplicativos para eliminar listas intermediárias.’ Steele e Habermann foram seus orientadores de dissertação.

o livro de Hofstadter; Philip Wadler fotografado por seu filho, Adam; escritórios da Royal Society em Londres

Indústria e academia

A partir de 1983, Wadler foi pesquisador e membro do Programming Research Group em Oxford, onde publicou muitos artigos, sendo ‘Como substituir o fracasso por uma lista de sucessos’ o mais citado.

Depois disso, foi a Universidade de Glasgow, onde Wadler foi o principal designer de Haskell, que se tornou a linguagem mais amplamente usada para programação funcional preguiçosa. Ele contribuiu com suas duas principais inovações: type classes, com Stephen Blott em 1989, e monads com Simon Peyton Jones em 1993. Essas inovações o ajudaram a se tornar um dos autores de ciência da computação mais reconhecidos, e ele ganhou o cargo de professor em 1993. The monad paper ganhou um prêmio ACM para o papel mais influente da década anterior em 2003.

O Glasgow Haskell Compiler (GHC) foi desenvolvido em Glasgow, e Peyton Jones e Simon Marlow receberam um prêmio de software ACM em 2011 como seus criadores. Wadler recebeu um prêmio de serviço distinto em 2016. Chakravarty, seu co-criador do Plutus, acrescenta: ‘Um pouco mais tarde, sua contribuição de usar o conceito categórico de mônadas para fornecer uma maneira funcional de lidar com entrada e saída de dados, e a programação imperativa geral novamente um grande impacto. Classes de tipos e mônadas juntas determinaram em grande parte como os arquitetos de software projetam programas em Haskell. Ambos os conceitos foram captados por outras línguas.’

Juntamente com o núcleo do Cardano sendo implementado em Haskell, Wadler cita três favoritos entre os muitos aplicativos notáveis. Primeiro, o Facebook usa a biblioteca HAXL criada por Simon Marlow para filtrar todas as mensagens que publica em busca de spam e desinformação. Em segundo lugar, o número de bancos que usam Haskell, cuja influência encorajou a maioria das empresas financeiras a usar uma linguagem funcional de uma forma ou de outra. SeL4, um sistema operacional mínimo altamente seguro para telefones móveis, é sua escolha final. Para isso, um protótipo foi escrito em Haskell. O protótipo formou a base para um modelo formal no assistente de prova Isabelle e, em seguida, a implementação de produção, que foi traduzida de Haskell para a linguagem C para velocidade. A tradução foi verificada contra o modelo formal em Isabelle.

De Glasgow, ele saltou para a indústria por sete anos no Bell Labs (Lucent Technologies) e depois no Avaya Labs; Peyton Jones foi para a Microsoft Research e agora está na Epic Games. Dois produtos dessa época foram o GJ (Generic Java) – a base para o design da Sun Microsystems – e o FJ (Featherweight Java). Este último, de 1999, é um modelo formal de Java que pode ser escrito em uma folha de papel. É um dos artigos mais citados de Wadler. Como ele diz. ‘GJ leva a teoria à prática; FJ transforma a prática em teoria.’

Na Avaya, Wadler publicou seu artigo sobre XQuery, uma linguagem para consultar XML e combinar dados, sejam documentos, bancos de dados ou páginas da Web, desenvolvida no World-Wide Web Consortium (W3C). Ele permite que programas complexos em outras linguagens sejam substituídos por algumas linhas de código.

Então veio uma oferta da Cátedra de Ciência da Computação Teórica em Edimburgo em 2003. Assumir o cargo foi uma decisão fácil para Wadler porque ele foi capaz de assumir o papel de um de seus maiores heróis científicos, Robin Milner. (O outro é Tony Hoare, inventor do algoritmo Quicksort ). ‘Quando me ofereceram aquela cadeira em Edimburgo, não pude recusá-la porque a posição foi criada para Robin Milner.’

O homem que colocou lambda em camisetas

Knuth, McCarthy e Cerf instilaram em Wadler a importância do humor em trabalhos e apresentações acadêmicas. Sua tese de doutorado foi ‘A apatia é melhor do que a preguiça’, e um de seus primeiros artigos publicados foi ‘Como substituir o fracasso por uma lista de sucessos’. ‘Depois disso’, diz ele, ‘não havia como voltar atrás’. Ele se delicia com os títulos de seus artigos sendo apresentados no livro Stylish Academic Writing de Helen Sword .

As pessoas que assistiram às palestras de Wadler o viram se transformar em Lambda Man, um super-herói fantasiado. Lambda calculus – λ -calculus – é um sistema formal em lógica matemática que é fundamental para Haskell. As transformações dos super-heróis começaram quando Wadler começou a apimentar as palestras em conferências acadêmicas desenhando fórmulas em camisetas e depois “rasgando minha camisa para revelar a fórmula”. Ele tem uma camisa especial com botões em vez de botões para isso. ‘Uma camiseta mostrava uma descrição categórica da lógica linear devido a RAG Seely – que gentilmente concordou em posar com aquela como um “modelo Seely”.’

Em outra conferência, sentado em um bar, um colega fez uma analogia entre as travessuras de Wadler e o Superman; e ‘uma lâmpada se apagou. Encomendei o desenho do lambda, que foi feito por Matija e Mojca Pretnar, e o imprimi na frente de uma fantasia de Superman que comprei.’

A revisão por pares torna o IOG ‘único’

Wadler começou a trabalhar para a Input Output há seis anos, depois de conhecer Charles Hoskinson, executivo-chefe e cofundador da Input Output Global (IOG). Hoskinson estava visitando o professor Aggelos Kiayias, cientista-chefe da empresa e fundador do Blockchain Technology Lab em Edimburgo. ‘Charles pediu para se encontrar comigo. Eu tinha acabado de conhecer a Wanda, que morava no Rio de Janeiro e viria a ser minha esposa. Antecipando o custo de muitos vôos para o Brasil, pedi a Charles um trabalho de consultoria. Foi ousado da minha parte, mas foi uma das melhores escolhas que já fiz!’

Suas opiniões compartilhadas sobre a importância da academia para a indústria ficaram imediatamente aparentes. ‘O que mais admiro em Charles é a insistência de que tudo o que o IOG faz deve ser baseado em pesquisas revisadas por pares. Como ele aponta, esse é o fundamento da ciência.’

A IOG financia o laboratório de Edimburgo e centros de pesquisa em várias outras universidades, uma estratégia que não é incomum entre as empresas de tecnologia. No entanto, Wadler acredita que o IOG foi além: ‘Com complicados protocolos criptográficos, a pesquisa revisada por pares é a melhor maneira de garantir que eles estejam corretos. No entanto, até onde posso dizer, a IOG é única nessa insistência. Não apenas em criptografia, mas em toda a computação. O Google ou a Microsoft permitirão que seus desenvolvedores publiquem, mas não consideram isso um passo crucial para a confiabilidade.’

Wadler contribuiu para os artigos da IOG cobrindo: UTXO estendido, o modelo de razão usado pela Cardano; Sistema F, elemento importante na base teórica de linguagens como Haskell e ML; e contratos de blockchain.

A abordagem concisa e elegante de Wadler, conforme visto no artigo Featherweight Java, apareceu novamente quando Plutus foi anunciado em 2018 . No evento PlutusFest em Edimburgo, a equipe distribuiu guardanapos de papel preto nos quais a especificação de linguagem para Plutus foi impressa em tinta dourada. Foi uma ideia mencionada pela primeira vez por Hoskinson, mas, como Chakravarty acrescenta, 'Isso realmente remonta a Phil ser a pessoa que insistiu desde o início em manter o Plutus Core o menor possível. Mais tarde, Charles fez a observação do guardanapo, mas Phil correu com a ideia e foi assim que acabamos com os guardanapos de Edimburgo.

Simplicidade, segurança e proteção estão no centro do Plutus, tudo possível graças à programação funcional e Haskell.

Prova de que a semântica central do Plutus cabe em um guardanapo

O poder da matemática

Uma corrente que percorre o trabalho de Wadler é o valor da matemática. ‘Muitas pessoas têm medo da matemática’, diz ele, porque ‘acham que é muito difícil para eles. Desenvolvedores experientes que estão bem com Javascript vão sair correndo da sala se virem algo em um slide escrito em itálico, porque parece matemática formal.’

No entanto, a matemática é uma ferramenta incrivelmente poderosa para entender o mundo ao nosso redor e tem sido usada como tal há milênios. Cada geração transmitiu suas descobertas para a próxima. Uma das citações favoritas de Wadler é do polímata escocês John Arbuthnot em seu livro Of the Laws of Chance em 1692:

“Há muito poucas coisas que conhecemos que não possam ser reduzidas a um raciocínio matemático; e quando não podem é um sinal de que nosso conhecimento sobre eles é muito pequeno e confuso; e quando um Raciocínio Matemático pode ser obtido, é uma tolice tão grande fazer uso de qualquer outro, quanto tatear por algo no escuro, quando você tem uma vela acesa ao seu lado.”

Essa cadeia de entendimento é algo que ele enfatiza para os colegas mais jovens. ‘O trabalho que você faz só é importante se inspirar outros a fazer um trabalho ainda melhor. Tenho orgulho dos artigos que escrevi e ainda mais dos artigos escritos por outras pessoas que se baseiam no meu trabalho.’

Mais uma vez, ele enfatiza a simplicidade. ‘Um corolário é a importância da simplicidade. Você tem que apresentar o trabalho de uma forma que os outros possam entender e desenvolver. Muitos dos meus colegas são muito espertos! Eles são inteligentes o suficiente para lidar com uma grande complexidade, mas isso torna o que eles fazem mais difícil de absorver. Por favor, escreva para simplórios como eu. Tão importante quanto a descoberta original é o esforço para simplificar e polir.’

O maior livro de autógrafos do mundo

Em 14 de julho, Wadler estará no Carlton House Terrace, em Londres. Lá, como um dos 80 pesquisadores, inovadores e comunicadores de destaque, ele será nomeado membro da Royal Society. Este corpo erudito remonta a 1660 - Christopher Wren e Robert Boyle estavam entre os fundadores. O edifício tem vista para o The Mall, a grande rota da procissão que liga a Trafalgar Square ao Palácio de Buckingham. Charles II, que construiu The Mall, deu seu patrocínio à Sociedade, como todos os monarcas desde então. O rei Carlos III é membro da realeza desde 1978.

Wadler assinará seu nome em um livro que começa com a assinatura de Charles II e está repleto dos nomes mais brilhantes da história científica. Fellows atuais e anteriores incluem Charles Babbage, cujo Difference Engine foi o primeiro dispositivo de computação digital; o pioneiro da IA ​​e herói da quebra de códigos em tempo de guerra, Alan Turing; Hoare; Milner; Berners-Lee; David Deutsch, o pai da computação quântica; Sophie Wilson, co-arquiteta da BBC Micro que ajudou a desenvolver a arquitetura do chip ARM que alimenta os smartphones do mundo; e Peyton Jones. Knuth e Cerf são membros estrangeiros.

Dois primeiros companheiros foram Isaac Newton e Robert Hooke. Newton é mais conhecido por sua teoria sobre a lei da gravidade, e seu Principia Mathematica com suas três leis do movimento influenciou muito o Iluminismo na Europa. Hooke descobriu os microorganismos e cunhou o termo ‘célula’, embora ele seja provavelmente mais conhecido por gerações de crianças em idade escolar pela Lei de Hooke, que descreve o efeito de uma força em uma mola de metal. Em 1675, os dois se corresponderam por carta. “Se vi mais longe”, escreveu Newton, “foi por estar sobre ombros de gigantes.” Depois de 14 de julho, o nome de Wadler estará ao lado das assinaturas desses gigantes, e ele estará ansioso pelas oportunidades que sua bolsa abrirá.

Ilustração do Lambda Man por Jonathan Smith