Segue um resumo pirata da palestra de Gilberto Câmara.  Os grifos são meus (PF).


O Paradoxo da Computação Universal

Gilberto Câmara
Congresso da SBC, 2009

O tema foi motivado por um artigo recente de Peter Denning na CACM (A Computação é uma Ciência Natural?), que procura resgatar para a Computação o sentido original de Cibernética, como proposto por Norbert Wiener.

Dennig diz que sistemas naturais trocam informação suas diversas formas. Computação é algo que vírus, plantas, macacos e seres humanos fazem sem necessariamente usar representações computacionais. Num sentido mais amplo, qualquer sistema complexo na qual múltiplas partes interagem e trocam informação faz computação. As interações entre atmosfera, biosfera, oceanos e criosfera que regulam o clima da Terra são melhor entendidas se pensadas em termos de analogias computacionais.

Como os sistemas naturais fazem computação (no sentido cibernético), os computadores artificiais são imprescindíveis para que a Ciencia para entende-los. Ao representar processos naturais no computador, a Computação torna-se parte inseparável da Ciência no Século 21.

Tome-se o caso da Computação Ambiental. Precisamos construir modelos do sistema terrestre. Esses modelos tem componentes meteorológicos, geoquímicos (aerossóis), da criosfera (gelo), do oceano, da vegetação, dos usos da terra e das emissões de carbono. Produzem dados em escalas massivas, e precisam ser programados para executar de forma eficiente em clusters de centenas a milhares de CPUs. Como fazer isto sem muita competência em Computação?

Esta forma de pensar apresenta um grande potencial para a Computação. Dada sua aplicação universal, a área de Computação deveria ser muito atraente para alunos. Não é que acontece. Nos EUA, as inscrições na Graduação em Computação caíram pela metade. No Brasil, a Computação está entre as áreas menos procuradas no vestibular.

Se a Computação é universal, porque há pouco interesse pela Computação? Isto decorre o que chamo de paradoxo da Computação Universal:

A Computação é Universal... exceto nos departamentos acadêmicos de Ciencia de Computaçâo.

Nosso currículo padrão em Computação foca em questões relevantes para a Computação Comercial e de duvidosa valia para a Computação Universal: programação orientada-a-objetos, bancos de dados relacionais, sistemas operacionais, interfaces WIMP, workflows, XML (uugh!). Como diz o artigo CS Education in the US: Heading in the Wrong Direction? (CACM, julho 2009): the curriculum lacks fundamental components that are essential in the construction of large systems.

Não espanta que ao focar o ensino em temas chatos e pouco estimulantes, estamos deixando de atrair bons alunos. Ser programador de COBOL em banco sempre foi entediante, mas pelo menos garantia um bom salário. Hoje, nem isso. O que estimula mais o jovem de hoje? Viver de programar em SQL Server? ou trabalhar para salvar a Terra?

Não adianta culpar os físicos, a CAPES, o CNPq, a Mãe Joana, a Globalização, Lula, a ekipeconômica, os Orixás... O problema somos nós mesmos. Não é razoável achar que os alunos em geral ficaram menos inteligentes do que há 20 anos. A Computação é que não consegue mais atrair talentos como outrora.

A solução está mais perto que imaginamos. Primeiro, vamos aplicar o ditado inglês: Quando você está no fundo do poço, a primeira providência é parar de cavar. Depois, vamos rever nossos preconceitos sobre o que é Computação.

A comunidade acadêmica de Computação no Brasil não valoriza a pesquisa interdisciplinar e pune quem a pratica. Como resultado, isola-se do mundo. Analisando 400 papers de Ciencia da Computacao, Walter Tichy verificou que 50% propunham modelos e hipóteses que não foram testadas. Em outros campos da Ciência, a proporção de papers com hipóteses não testadas é de 10% (W. Tichy, Should Computer Scientists Experiment More?, IEEE Computer, 1998).

Como revisor de artigos no Brasil e no Exterior, fico espantado com a quantidade de pseudo-problemas que são abordados pela comunidade de Ciência da Computação. Há um mecanismo perverso: se o autor testa sua hipótese com casos realistas, muitos revisores o acusam de fazer aplicações e não Ciência (como se houvesse diferença). Hello, world!

Ainda tenho esperança (senão, não mandaria mensagens para a SBC-L). Todos os grandes avanços científicos do século 21 usarão a Computação como parte inerente a seus estudos. A Ciência e a Sociedade precisam de muita Computação para resolver seus problemas. Se mudarmos, buscando ensinar e valorizar a interdisciplinaridade, podemos construir uma Computação forte no Brasil. A alternativa, bem, essa não vale a pena pensar...


Slides da palestra