quarta-feira, 13 de janeiro de 2010

O paradigma da computação

Ainda estudante de graduação, me pegava pensando sobre a finalidade da minha formação como Bacharel em Ciência da Computação. Hoje, trabalhando com Sistemas de Informação a pergunta ecoa novamente, principalmente quando estou desempenhando atividades de ensino. Neste meu vai e vem entre áreas, e entre um livro e outro, acabei me deparando com este pequeno artigo da revista Communications (da ACM - pena que é material reservado a assinantes). Abaixo buscarei ressaltar alguns pontos que achei interessantes.

O texto começa lembrando dos debates que ainda existem sobre em qual paradigma a computação deve ser enquadrada: ciência, engenharia ou matemática. Obviamente que isto não impediu a necessária criação dos vários cursos de formação hoje existentes em sub-área particulares. Fiquei com a impressão de que esta definição de paradigmas envolve questões mais políticas e filosóficas, o que permite o andar da carruagem. O autor cita algumas tentativas de unificação das três áreas, buscando a definição de um paradigma próprio da computação sendo estes:
  1. "Processos da Informação" de meados da década de 1960;
  2. "Programação: a arte de criar processos da informação" do fim da mesma década (visão de personalidades como Knuth e Dijkstra;
  3. "Automação de processos da informação" de meados da década de 1970.
Esta discussão foi levada a comitês (incluindo na ACM) com expansão da área na década de 1980 e no final do século (até hoje eu diria) parecia que o termo TIC - Tecnologia da Informação e Comunicação - havia por fim fechado a definição da área. Porém a coisa se voltou muito ao mundo do hardware e a definição de um paradigma para a computação nos tempos atuais exigem "migrar a atenção de volta aos processos da informação". Além disso, o novo framework de princípios (que me parece ter sido definido pelo autor) considera ciência, matemática e engenharia como motores igualmente importantes para a computação; argumentando ainda que esta deve ser considerada o quarto grande domínio da ciência, ao lado da física, biologia e ciências sociais.

Por fim, a distinção mais interessante que o autor traça entre "os motores" da computação, e esta própria, é que os primeiros se posicionam do lado de fora dos universos estudados, ou seja, como observadores. Já a computação é mais insider no sentido de "representar os processos da informação como expressões que 'realizam trabalho'", ou seja, não apenas representam algo para o observador, mas também são geradoras de ações, que podem inclusive ser auto-referenciáveis. Estas duas características abrem um leque de possibilidades poderoso, como é o caso dos estudos sobre a computabilidade (e.g. problema da parada) baseados em muita matemática de personagens como Turing e Gödel.

Confesso que não procurei pensar além dos conceitos do autor, apenas adicionei pitadas de coisas que já tenho na cabeça. Talvez o leitor possa comentar e ajudar a expandir os meus horizontes.

Abraços.

PS.: O mais interessante foi que acabei de ler hoje mesmo o livro "Um louco sonha a Máquina Universal - Janne Levin - Companhia das Letras", sobre o qual prometo lincar depois meus comentários.