Pular para o conteúdo

O Paradoxo da Computação – GIlberto Câmara

Agora que me formei, estou “correndo atrás do prejuízo”. A passagem imediata da condição de estudante para a condição de desempregado só não é mais bizarra que a das estatísticas positivas (jovem cursando o ensino superior) para a das estatísticas negativas (jovem com diploma engrossando a massa de desempregados). E tudo isso de um minuto para o outro!

Durante a universidade, dediquei muito tempo dos meus estudos no projeto de pesquisa sobre Algoritmos Genéticos aplicados a problemas de Otimização Combinatória. É um ramo muito interessante, ligado diretamente a Inteligência Artificial e a Pesquisa Operacional com aplicação em vários ramos da indústria, das engenharias de produção, elétrica, e por aí vai. É Ciência da Computação valendo.

Porém, todo esse conhecimento ainda não me abriu portas no meu estado. Aqui, o pessoal quer saber se eu sei programar em Java, utilizando o último “framework da moda” para persistência junto com os Strut’s da vida.

Infelizmente, essa é a visão em muitos lugares dos formados em Ciência da Computação. A atividade de desenvolvimento de software é muito interessante, mas infelizmente, essa necessidade do mercado acaba por afetar o desenvolvimento do curso de Ciência da Computação ainda na faculdade. Os estudantes acabam enveredando pelo caminho do desenvolvimento de software, e a parte científica fica de lado. E aqueles que seguem a parte científica, devem depois se virar para se adaptar ao mercado ou ingressar direto na pós-graduação.

Não por acaso, me alegra muito o texto do Gilberto Câmara, Diretor Geral do INPE – Instituto Nacional de Pesquisa Espacial. Ele setencia: a Ciência da Computação está em todo lugar… menos nos departamentos de Ciência da Computação. Eu avalio isso como consequência da influência do mercado, que precisa mais de programadores do que de pesquisadores.

Mas, fiquem a vontade para tirarem suas conclusões. O texto dele segue abaixo:


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…

4 comentários em “O Paradoxo da Computação – GIlberto Câmara”

  1. Poisé camarada!

    Apesar da programação comercial se incluir nas possibilidades da computação como interação e troca de informações, ela é superestimada e acaba por engolir as outras maravilhosas possibilidades que a computação poderia nos ser util, como o proprio texto fala,a computação ambiental ou até mesmo estudos meteorológicos.

    Pior de tudo isso é que aqui no Piauí até mesmo a área comercial é pouco valorizada, piorando ainda mais essa situação.

    Nossa cultura de estudantes não foi direcionada para a pesquisa. Resta a nós que nos vemos nesse problema parar de cavar e buscar construir uma escada pra sairmos do poço.

    Abraços

  2. Pois é Chicão. Tem tanto campo interessante na Ciência da Computação, mas o pessoal acaba se focando mesmo em Hibernate, Mentawai… isso é importante, mas deixar a pesquisa de lado é muito triste e desvirtua o sentido do curso.

    Ainda bem que temos cientistas no Brasil que reconhecem isso e tentam contribuir com a mudança, de alguma forma.

  3. Extremamente revelador esse texto. Acredito que esse conflito entre mercado e ciência seja um problema ético que assola não só a informática, mas toda a produção científica, afinal, qual laboratório no mundo vai pesquisar uma cura para a malária, por exemplo? A miopia dos cursos de graduação e da pesquisa como um todo começa por ai, pela falta de uma disciplina que discuta ética na pesquisa do campo.

    Também concordo com o Chicão, sobre a falta de uma cultura voltada para a pesquisa nas nossas faculdades. É bem por ai mesmo, a gente sai doutrinado a ensinar "skimming", "scanning" e "seletividade" mas não sai sabendo o que um gênero de discurso e como pesquisar gêneros pra ensinar em sala de aula.

  4. Um problema é o cara acaba ficando no meio do caminho, não saindo nem um cientista nem um programador. e pra piorar pouco se faz trabalhos, implementaçoes, com bases cientificas, normalmente é algo digno de programador. E qd era pra ser algo de ciencia, coisa pesada mesmo no nivel de fazer verificar e analisar resultados, só se realizam trabalhos teoricos, em 4 anos se o cara não se especializar por si mesmo, o resultado é um programador mediocre sabendo falar muito que em algum outro lugar alguem fez algo legal.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *