HISTÓRIA DA COMPUTAÇÃO: O CAMINHO DO PENSAMENTO E DA TECNOLOGIA
Pontifícia Universidade Católica do Rio Grande do Sul Chanceler: Dom Dadeus Grings Reitor: Joaquim Clotet Vice-Reitor: Evilázio Teixeira Conselho Editorial: Ana Maria Tramunt Ibaños Antônio Hohlfeldt Dalcídio M. Cláudio Delcia Enricone Draiton Gonzaga de Souza Elvo Clemente Jaderson Costa da Costa Jerônimo Carlos Santos Braga Jorge Campos da Costa Jorge Luis Nicolas Audy (Presidente) Juremir Machado da Silva Lauro Kopper Filho Lúcia Maria Martins Giraffa Luiz Antonio de Assis Brasil Maria Helena Menna Barreto Abrahão Marília Gerhardt de Oliveira Ney Laert Vilar Calazans Ricardo Timm de Souza Urbano Zilles EDIPUCRS: Jerônimo Carlos Santos Braga – Diretor Jorge Campos da Costa – Editor-chefe
Cléuzio Fonseca Filho
HISTÓRIA DA COMPUTAÇÃO: O CAMINHO DO PENSAMENTO E DA TECNOLOGIA
PORTO ALEGRE 2007
© EDIPUCRS, 2007 Capa: Vinícius de Almeida Xavier Diagramação: Carolina Bueno Giacobo e Gabriela Viale Pereira Revisão: do autor
F676h Fonseca Filho, Cléuzio História da computação [recurso eletrônico] : O Caminho do Pensamento e da Tecnologia / Cléuzio Fonseca Filho. – Porto Alegre : EDIPUCRS, 2007. 205 p. Sistema requerido: Adobe Acrobat Reader Modo de acesso: World Wide Web: ISBN 978-85-7430-691-9 (on-line) 1. Informática. 2. Informática – História. 3. Computação – Teoria. CDD 004
Ficha catalográfica elaborada pelo Setor de Processamento Técnico da BCPUCRS
EDIPUCRS Av. Ipiranga, 6681 - Prédio 33 Caixa Postal 1429 90619-900 Porto Alegre, RS - BRASIL Fone/Fax: (51) 3320-3523 E-mail:
[email protected] http://www.pucrs.br/edipucrs/
Prefácio Esta obra se propõe a um objetivo bastante ousado: recontar a história da computação a partir de um panorama de idéias e modelos. Vence este desafio com galhardia. Neste sentido, a escolha do nome foi feliz e adequada, dado que realmente busca um ponto de vista original, fugindo de um simples relato de fatos em ordem cronológica. Bebeu na fonte de autoridades reconhecidas como o medievalista Jacques Le Goff, um dos criadores da nova historiografia, ou de historiadores da ciência do peso de Karl Popper, Thomas Khun e Imre Lakatos. Tão boa companhia certamente inspirou o autor na concepção de um todo abrangente, atualizado e inter-relacionado. Deixa claro, por exemplo, que aquelas geringonças desengonçadas e enormes do pós-guerra e o mais moderno e colorido equipamento atual, apresentam ainda muita coisa em comum: rigorosamente seguem o mesmo princípio de funcionamento. É verdade que os computadores continuam a ganhar poder e velocidade de forma espantosa, numa evolução sem precedentes na tecnologia. Seguem possuindo os componentes estabelecidos por Von Neumann há meio século, como também a sua idéia de programa armazenado, que executado separadamente do hardware, converteu-o em uma máquina de propósito geral. No entanto, o processamento paralelo, a engenharia de software e a evolução das comunicações que culminaram na Internet, elevaram a tecnologia a patamares jamais sonhados pelos fundadores. Por outro lado, para desenvolver as postulações que fundamentaram tamanho avanço, os criadores primevos apoiaram-se em resultados abstratos – e outros nem tanto – de pensadores do porte de Gödel, Hilbert e Turing, para citar alguns, devidamente creditados no decurso da obra. Antes mesmo de se construir a primeira máquina baseada em relês, a estrada para sua concepção estava aplainada pela contribuição destes visionários, que propuseram soluções teóricas bem à frente de seu tempo e cuja realização parecia, então, impraticável. Esta é a melhor contribuição do livro: demonstrar que a computação nasceu do desejo de se compreender a capacidade que tem o homem em resolver problemas de forma sistemática. Assim, a tentativa de reproduzir mecanicamente estes procedimentos, muitos deles exaustivamente repetitivos, lançou as bases para estabelecer a computação como a conhecemos hoje. A evolução dos conceitos em informática sempre esteve intrinsecamente ligada à da matemática. Nas universidades, a computação nasceu dentro dos Departamentos de Matemática. Isto justifica o resumo da história da matemática, brilhantemente apresentado segundo uma evolução de conceitos. Evitando quebrar o ritmo e sem truncar a narrativa, dáse ao luxo de fornecer fatos curiosos e pouco conhecidos como, só para exemplificar, a dificuldade para a aceitação dos algarismos indo-arábicos por parte dos mercadores europeus, pois alguns símbolos sendo parecidos, facilitaria a falsificação. Todo o texto está tratado de forma leve e agradável, sem se afastar do necessário rigor. A leitura flui como em um romance. Não cansa com detalhes desnecessários. Muito ao contrário, chegamos ao final desejando mais. Os anexos são oportunos, permitindo um aprofundamento de tópicos ligados à fundamentação, inadequados se incluídos no corpo principal. Vale lembrar que o primeiro deles é uma cronologia comparada, um grande esforço
de compilação, que permite contextualizar os avanços da matemática e da computação a par de outras áreas tecnológicas. Na história mais recente da computação, não se prende somente à evolução do hardware, que foi fundamental para o desenvolvimento da disciplina, mas incapaz de justificar tamanha difusão. Mostra o crescimento das linguagens de computação – do Assembler à Java – a distinção entre os paradigmas de programação imperativas e declarativas, os aprimoramentos na arquitetura, os avanços do sistema operacional; enfim, a cristalização da Computação como Ciência. Não esquece de abordar tópicos destacados como Inteligência Artificial, Cibernética e o delicado equilíbrio entre o homem e a tecnologia. Enfim, trata-se de uma obra surpreendentemente abrangente, dado seu tamanho compacto. Leitura fácil e ágil, despertará interesse não só de especialistas da área como também de pessoas afastadas do mundo dos computadores. No entanto, vislumbramos ganho maior para este texto no ensino de Computação, pois como afirma com propriedade na conclusão, “Cada conceito tem o seu lugar, a sua importância e a sua história que é necessário ser ensinado.” Esta perspectiva sem dúvida enriquecerá a visão dos estudantes, embasando mais fortemente a essência do assunto, dando subsídos para se tornarem profissionais melhores. Roberto Lins de Carvalho
Do autor Fascinante! Ainda recordo esta palavra, dita por quem depois orientaria a minha dissertação de mestrado, origem deste livro: somente iria para a frente na futura tese se estivesse fascinado pelo assunto. E devo dizer que foi exatamente isso que aconteceu. Excetuando-se alguns círculos mais teóricos, normalmente é considerado pela maioria das pessoas, inclusive dentro da própria Computação, que os dispositivos computacionais, que hoje fazem parte do nosso cotidiano, surgiram, por volta da década de 1940. O século XX teve a glória de materializar tantos artefatos, em tantas áreas, que esquecemos que na verdade são resultado, fruto, do labor de muitos que nos precederam. A Computação não escapa a essa lei. Nomes como Turing, Hilbert, Church, Frege e tantos outros até chegar a Aristóteles e aos babilônios de 4.000 a.C. misturam-se com lógica matemática, sistemas axiomáticos, formalismo e álgebra. Ao se estudar um pouco, percebe-se que toda essa tecnologia é fruto de um devir de séculos, uma auto-estrada de quase 2000 anos, paciente e laboriosamente pavimentada por figuras que são desconhecidas por muitos de nós, profissionais de informática, ou só superficialmente conhecidas. Procurar resgatar este ‘lado humano’ e teórico da computação, contribuir de alguma forma para que outras pessoas da área ou de fora dela possam apreciar desde outro ângulo os alicerces deste imponente edifício formado pela tecnologia dos computadores, entusiasmar aqueles que estão entrando na área de informática, são os objetivos principais deste livro. Não pensei nada de novo, nem tive pretensões de originalidade. Afinal a história já foi feita! Tudo que escrevi já estava registrado. Apenas percebi que faltavam, e ainda faltam, trabalhos em português que tratem dos conceitos e idéias que fundamentaram a Computação. Logicamente não esgotei nenhum tema, somente procurei traçar uma linha coerente da evolução destes conceitos, aprofundando um pouco mais em um caso ou outro, procurando deixar uma boa bibliografia, embora haja muitos livros que possam ser acrescentados. Espero que este trabalho sirva como ponto de partida para outros, pois há muita coisa a ser feita para iluminar e tornar mais acessíveis determinados conceitos. Gostaria de deixar constantes alguns agradecimentos. Em primeiro lugar ao prof. Dr. Aluízio Arcela, do Departamento de Computação da UnB, orientador da minha dissertação de mestrado e quem sugeriu e acompanhou aqueles meus primeiros estudos, base desta obra. Ao prof. Dr. Nelson Gonçalves Gomes, do Departamento de Filosofia da UnB, que tanta paciência teve para esclarecer alguns conceitos lógico-matemáticos e fornecer indicações preciosas de bibliografia. E um especial agradecimento ao prof. Dr. Roberto Lins de Carvalho (PUC-RJ) pelo incentivo que deu e entusiasmo que transmitiu ao tomar conhecimento do que estava fazendo, sem o que possivelmente não teria me atrevido a escrever coisa alguma. E aos amigos e colegas que me apoiaram e ajudaram na revisão desse trabalho, e que acabaram por lhe dar uma forma mais ‘amigável’. Cléuzio Fonseca Filho
Índice 1 1.1 2 2.1 2.2 2.3 3 3.1 3.2 3.3 3.4 3.5 4
INTRODUÇÃO ORDENAÇÃO DOS ASSUNTOS UMA REFLEXÃO SOBRE A HISTÓRIA A HISTÓRIA E SUAS INTERPRETAÇÕES A HISTÓRIA DA CIÊNCIA ENFOQUE HISTÓRICO ADOTADO MOTIVAÇÕES PARA SE ESTUDAR A HISTÓRIA DA COMPUTAÇÃO NECESSIDADE DE DISCERNIR FUNDAMENTOS INCENTIVO À EDUCAÇÃO PARA A QUALIDADE DO SOFTWARE TORNAR CLAROS E LIGAR OS FATOS ACOMPANHAR NOVAS TENDÊNCIAS REVALORIZAR O FATOR HUMANO EVOLUÇÃO DOS CONCEITOS
4.1 PRIMÓRDIOS 4.1.1 A EVOLUÇÃO DO CONCEITO DE NÚMERO E DA ESCRITA NUMÉRICA 4.1.2 DESENVOLVIMENTOS INICIAIS DA CIÊNCIA DO CÁLCULO 4.1.3 A LÓGICA DE ARISTÓTELES 4.1.4 A CONTRIBUIÇÃO DOS MEGÁRICOS E ESTÓICOS 4.1.5 EUCLIDES E O MÉTODO AXIOMÁTICO 4.1.6 DIOPHANTUS, AL-KHARAZMI E O DESENVOLVIMENTO DA ÁLGEBRA 4.1.7 A AUTOMATIZAÇÃO DO RACIOCÍNIO 4.2 A MECANIZAÇÃO DO CÁLCULO 4.2.1 LEIBNIZ, O PRECURSOR DA LÓGICA MATEMÁTICA MODERNA 4.2.2 O PROBLEMA DA NOTAÇÃO 4.3 A LÓGICA MATEMÁTICA NO SÉCULO XIX 4.3.1 BOOLE E OS FUNDAMENTOS DA LÓGICA MATEMÁTICA E DA COMPUTAÇÃO 4.3.2 A IMPORTÂNCIA DE FREGE E PEANO 4.4 O DESENVOLVIMENTO DA LÓGICA MATEMÁTICA 4.5 A CRISE DOS FUNDAMENTOS E AS TENTATIVAS DE SUPERAÇÃO 4.5.1 A FIGURA DE DAVID HILBERT 4.6 KURT GÖDEL: MUITO ALÉM DA LÓGICA 4.6.1 UM POUCO DE HISTÓRIA 4.6.2 VERDADE E DEMONSTRABILIDADE 4.6.3 OUTRAS CONQUISTAS 4.7 ALAN MATHISON TURING: O BERÇO DA COMPUTAÇÃO 4.7.1 A MÁQUINA DE TURING 4.7.2 O PROBLEMA DA PARADA E O PROBLEMA DA DECISÃO 4.7.3 OUTRAS PARTICIPAÇÕES 4.7.3.1 Decifrando códigos de guerra
13 14 16 17 19 21 23 23 24 26 27 27 29 29 29 35 36 39 40 42 45 49 49 53 54 56 58 61 62 64 68 68 71 73 74 75 76 77 77
4.7.3.2 O computador ACE e inteligência artificial 4.7.3.3 Programação de computadores 4.7.4 O TRISTE FIM 4.8 A TESE DE CHURCH-TURING E OUTROS RESULTADOS TEÓRICOS
78 79 80 80
5
85
PRÉ-HISTÓRIA TECNOLÓGICA
5.1 5.2 5.3 5.3.1 5.3.2 5.4 5.5 5.6 5.6.1 5.6.2 5.6.3 5.7 6
AS PRIMEIRAS MÁQUINAS
6.1 6.1.1 6.1.2 6.1.3 6.2 6.2.1 6.2.2 6.2.3 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.4 6.5 6.6 6.6.1 6.6.2 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7
DISPOSITIVOS MAIS ANTIGOS LOGARITMOS E OS PRIMEIROS DISPOSITIVOS MECÂNICOS DE CÁLCULO CHARLES BABBAGE E SUAS MÁQUINAS A MÁQUINA DE JACQUARD, INSPIRAÇÃO DE BABBAGE UMA LADY COMO PRIMEIRA PROGRAMADORA OUTRAS MÁQUINAS DIFERENCIAIS E MÁQUINAS ANALÍTICAS A ÚLTIMA CONTRIBUIÇÃO DO SÉCULO XIX: HERMAN HOLLERITH COMPUTADORES ANALÓGICOS PRIMEIRAS EVOLUÇÕES: SÉCULO XV MICHELSON E SEU ANALISADOR HARMÔNICO; I GUERRA MUNDIAL COMPUTADORES ANALÓGICOS ELETROMECÂNICOS CIRCUITOS ELÉTRICOS E FORMALISMO LÓGICO: CLAUDE ELWOOD SHANNON
OS PRIMEIROS COMPUTADORES ELETROMECÂNICOS KONRAD ZUSE AS MÁQUINAS DA BELL E AS MÁQUINAS DE HARVARD A PARTICIPAÇÃO DA IBM O INÍCIO DA ERA DA COMPUTAÇÃO ELETRÔNICA ESTADOS UNIDOS: ENIAC, EDVAC E EDSAC A CONTRIBUIÇÃO INGLESA: O COLOSSUS OUTRAS CONTRIBUIÇÕES AS PRIMEIRAS LINGUAGENS ALGUNS ASPECTOS TEÓRICOS DESENVOLVIMENTOS ANTERIORES A 1940 AS PRIMEIRAS TENTATIVAS KONRAD ZUSE E SEU ‘PLANCALCULUS’ O DIAGRAMA DE FLUXOS A CONTRIBUIÇÃO DE HASKELL INTERPRETADORES ALGÉBRICOS E LINGUAGENS INTERMEDIÁRIAS OS PRIMEIROS ‘COMPILADORES’ A FIGURA DE VON NEUMANN O CONCEITO DE PROGRAMA ARMAZENADO A ARQUITETURA DE VON NEUMANN
A REVOLUÇÃO DO HARDWARE E DO SOFTWARE DA SEGUNDA GERAÇÃO DE GRANDES COMPUTADORES AOS DIAS DE HOJE O DESENVOLVIMENTO DAS LINGUAGENS ARQUITETURAS DE COMPUTADORES E SISTEMAS OPERACIONAIS UMA NOVA MENTALIDADE A COMPUTAÇÃO COMO CIÊNCIA A INTELIGÊNCIA ARTIFICIAL UMA NOVA DISCIPLINA: A CIBERNÉTICA
85 85 86 89 90 91 92 93 95 96 97 98 101 101 101 102 103 103 104 105 105 109 109 111 111 112 113 115 116 116 117 119 122 123 123 123 127 130 131 134 137
8 8.1 8.2 9
10
A DISSEMINAÇÃO DA CULTURA INFORMÁTICA O DOMÍNIO E O CONTROLE DAS INFORMAÇÕES O EQUILÍBRIO ENTRE O TOQUE HUMANO E A TECNOLOGIA CONCLUSÃO
139 139 140 145
REFERÊNCIAS BIBLIOGRÁFICAS
147
ANEXO – CRONOLOGIA (ATÉ O ANO 2007)
154
ANEXO – O MÉTODO AXIOMÁTICO E AS CIÊNCIAS DEDUTIVAS
174
ANEXO – DEDUÇÃO E INDUÇÃO NA MATEMÁTICA
175
ANEXO - A ARITMÉTICA DE PEANO
179
ANEXO - O MÉTODO DAS DIFERENÇAS
180
ANEXO - A CONCEPÇÃO FORMALISTA DA MATEMÁTICA
182
ANEXO - O PROBLEMA DA DECISÃO NA MATEMÁTICA
186
ANEXO - O TEOREMA DA INCOMPLETUDE DE GÖDEL
187
ANEXO - MÁQUINAS DE TURING
191
ANEXO - ASTROLÁBIO
195
ANEXO - TURING E A MÁQUINA ENIGMA
199
ÍNDICE DE FIGURAS
204
1 Introdução A ciência normalmente é cumulativa, isto é, constroem-se instrumentos mais poderosos, efetuam-se medidas mais exatas, precisam-se melhor e ampliam-se os conceitos das teorias, e assim por diante. Embora os paradigmas possam mudar, as pesquisas normalmente evoluem com base em resultados do passado, que se constituem em fundamentos de um desenvolvimento posterior. O cientista estará mais seguro em suas pesquisas e mais preparado para novos desafios se souber como seu assunto específico evoluiu historicamente, quais as dificuldades maiores, as soluções encontradas e os problemas pendentes. Nas ciências mais tradicionais − Filosofia, Matemática, Física, Biologia, etc. − existem sempre estudos de história junto a muitos outros dedicados a pensadores, inventores e conquistadores de primeira, segunda ou terceira grandeza, além de inúmeras monografias. No caso da Computação, é necessário que apareçam trabalhos para servir de base e referência aos estudantes, novos pesquisadores e aqueles interessados pelos aspectos teóricos que estão por detrás dessa tecnologia que domina o cotidiano neste fim e início de milênios. A História da Computação está marcada por interrupções repentinas, por mudanças inesperadas e imprevistas, tornando-se difícil a visão da evolução dos computadores mediante uma mera enumeração linear de invenções-nomes-datas. O desejo de conhecer as vinculações que o trabalho de determinados homens estabeleceram no tempo vem acompanhado do impulso de compreender o peso desses atos no conjunto da História da Computação. Buscar uma compreensão dos fatos através dos acontecimentos que o precederam é um dos principais objetivos que estará presente neste estudo da História da Computação. A computação é um corpo de conhecimentos formado por uma infra-estrutura conceitual e um edifício tecnológico onde se materializam o hardware e o software. A primeira fundamenta a segunda e a precedeu. A teoria da computação tem seu desenvolvimento próprio e independente, em boa parte, da tecnologia. Essa teoria baseia-se na definição e construção de máquinas abstratas, e no estudo do poder dessas máquinas na solução de problemas. A ênfase deste livro estará nessa dimensão teórica, procurando mostrar como os homens, através dos tempos, buscaram elaborar métodos efetivos para a solução de diversos tipos de problemas. A preocupação constante de minimizar o esforço repetitivo e tedioso produziu o desenvolvimento de máquinas que passaram a substituir os homens em determinadas tarefas. Entre essas está o computador, que se expandiu e preencheu rapidamente os espaços modernos pelos quais circulam as pessoas. A partir do aparecimento da noção de número natural, passando pela notação aritmética e pela notação mais vinculada ao cálculo algébrico, mostra-se como apareceram regras fixas que permitiram computar com rapidez e precisão, poupando, como dizia Leibniz, o espírito e a imaginação. “Descartes acreditava no emprego sistemático do cálculo algébrico como um método poderoso e universal para resolver todos os problemas. Esta crença juntou-se à de outros e surgem as primeiras idéias sobre máquinas universais, capazes de resolver todos os problemas. Esta era uma crença de mentes poderosas que deixaram obras respeitáveis na Matemática e nas ciências em geral” [CO98].
13
Também é intenção do presente estudo procurar compreender e estabelecer as diretrizes para uma disciplina de História da Computação, mediante a seleção das idéias, teorias e conceitos que ajudaram os homens em sua busca da automatização dos processos aritméticos e que conduziram à tecnologia dos computadores. No Brasil ainda não existem livros que tratem do assunto História da Computação, observando-se uma lacuna cultural que países do primeiro mundo preocupam-se em preencher * já faz alguns anos. Pretende-se que este trabalho seja uma contribuição nesse sentido e um ponto de partida para novos estudos de História, pois são muitos os campos que poderão ser abertos.
1.1 Ordenação dos assuntos O desenvolvimento deste livro estará apoiado na seguinte seqüência de capítulos: • Uma reflexão sobre a História • Motivações para se estudar a História da Computação • Evolução dos conceitos • Pré-História tecnológica • As primeiras máquinas • A revolução do hardware e do software • A disseminação da cultura informática e o controle das informações • Conclusão Primeiramente será tratado o tema da História: constatar sua existência e necessidade, aspectos da evolução da ciência histórica e tocar particularmente o tema da História da Ciência, que se relaciona com o presente trabalho. Logo a seguir virá uma breve explanação de motivos que incentivam a aprofundar no estudo do tema específico da História da Computação. Em Evolução dos conceitos será mostrado o desenvolvimento dos conceitos teóricos que formaram a base para o surgimento da Computação. O caminho a ser usado será o da História da Matemática, desde os seus primórdios por volta do ano 4.200 a.C. – época provável de um calendário solar egípcio [Boy74] –, passando pelas contribuições das culturas babilônica, hindu, chinesa, árabe e grega, pelo ábaco, pela primeira máquina de calcular, até Boole, Hilbert, Turing e von Neumann, entre outros, nos anos 30, 40 e 50 do século XX. A partir daí, a Computação constrói a sua própria história, embora os laços com a matemática continuem sempre muito estreitos. Por Pré-História tecnológica entende-se a enumeração de alguns dispositivos analógicos primitivos, as primeiras tentativas de se construir um dispositivo de cálculo com Leibniz, Pascal, Babbage, Hollerith, etc., o surgimento dos dispositivos analógicos modernos – planímetros, analisadores harmônicos, etc. – e os primeiros 'computadores' eletromecânicos por volta dos anos de 1930 e 1940. Em As primeiras máquinas ver-se-á a construção dos primeiros dispositivos computacionais e os primeiros passos que são dados nesse campo essencial da Computação *
Nestes últimos dez anos vários livros já foram publicados em outros idiomas.
14
que são as Linguagens de Programação. Já estava formada a infra-estrutura conceitual necessária e a tecnologia já possibilitava o desenvolvimento de dispositivos mais poderosos e precisos para a execução de cálculos. Sob o título de A revolução do hardware e do software abordar-se-á o desenvolvimento posterior da Computação, os avanços da Inteligência Artificial, das Linguagens de Programação e Arquitetura de Computadores. Segue-se também uma análise da Computação como uma Ciência, da Teoria da Computação, das bases matemáticas para Análise de Algoritmos, e do surgimento do tema da Complexidade Computacional. No capítulo A disseminação da cultura informática e a proliferação das informações dois assuntos serão colocados. O primeiro tratará do impacto social do desenvolvimento da Computação e da necessidade de uma análise mais cuidadosa dos dados que os computadores tornaram disponíveis ao homem. O segundo fará algumas considerações sobre alguns limites do uso dos computadores.
15
2 Uma reflexão sobre a História Uma curiosidade de explicar e compreender o mundo é o estímulo que leva os homens a estudarem o seu passado. Arnold Toynbee Da curiosidade do homem por si mesmo nasce a história. A. Brunner
Na língua latina a palavra história expressa dois conceitos distintos: plenitude de suceder e o conhecimento que se possui desse suceder. Sua origem procede de certa raiz grega que significa inquirir, com inclinação à curiosidade [Fer85]. Plenitude de suceder, conhecimento desse suceder, recuperação dos valores antigos..., palavras que significam algo mais que uma mera enumeração de nomes, lugares, datas, números, etc. Consiste antes de tudo em um debruçar-se sobre o passado e formularlhe perguntas para se apropriar do seu legado (da “tradição”, de traducere, entregar). Ninguém produz por si mesmo os conhecimentos de que necessita para sobreviver em meio à sociedade na qual nasce; a grande maioria chega como algo adquirido, que se recebe pela interação com o meio ambiente. Desde o instante em que o homem se dá conta do mundo e de si mesmo, percebe-se rodeado de instituições e tradições que vive e atualiza de um modo natural, sem se dar conta de que foi forjado nesse entorno, com atitudes e pontos de vista tão arraigados em seu modo de ser, em sua psicologia, que nada lhe parece estranho ou desconhecido. Somente quando o homem sai do seu entorno vital e entra em contato com novas superfícies de valores, tradições, costumes, é que começa a compará-los com os seus e a se perguntar reflexivamente sobre tais coisas, pelas verdades de umas e outras. A história é parte dessa necessidade humana de refletir: é o desejo de explicar a origem e a verdade das próprias instituições, quem ou qual acontecimento as estabeleceu. Para responder sobre sua existência atual e conhecer a si mesmo o homem tem de mergulhar no seu passado, perguntando às gerações anteriores por que fizeram essas instituições e não outras, por que surgiram esses precisos costumes e atitudes, por que ele tem essa herança cultural, e assim por diante. Por possuir uma herança é que cada homem é um historiador em potencial. Assim como em cada homem há uma evolução biológica necessária, há também a manutenção de uma identidade ao longo das várias etapas desse desenvolvimento biológico, que nos distinguem e nos tornam únicos, sendo fator de compreensão do modo pessoal de ser. Com a história buscamos essa nossa identidade para compreender o momento presente. E isto pode e deve ocorrer sob pontos de vista específicos: sociais, psicológicos, filosóficos e tecnológicos. Paul M. Veyne fala ainda da história como compreensão, contrapondo o uso deste termo ao uso do termo explicação. Em seu sentido mais forte explicar significa “atribuir um fato a seu princípio ou uma teoria a outra mais geral” como fazem as ciências ou a filosofia. Nesse caso, a história seria uma difícil conquista porque a ciência só conhece leis, sistemas hipotéticodedutivos, e no mundo da história reinam, lado a lado, a liberdade e o acaso, causas e fins, etc. Para Veyne a história apresenta um caráter acientífico no sentido de que é difícil buscar princípios universais que tornem os acontecimentos inteligíveis, ou achar mecanismos de 16
causa e efeito para se poder deduzir, prever. “(...) a Revolução Francesa se explica pela subida de uma burguesia capitalista: isto significa, simplesmente, (...) que a narração da revolução mostra como essa classe ou seus representantes tomaram as rédeas do estado: a explicação da revolução é o resumo desta e nada mais. Quando solicitamos uma explicação para a Revolução Francesa, não desejamos uma teoria da revolução em geral, da qual se deduziria a de 1789, nem um esclarecimento do conceito de revolução, mas uma análise dos antecedentes responsáveis pela explosão desse conflito (...)”. Busca-se portanto uma compreensão dos fatos através dos acontecimentos que o precederam* [Vey82]. Toda verdadeira investigação edifica-se estabelecendo-se com a máxima exatidão possível o já sabido, para depois poder perguntar com exatidão, de maneira que se possam encontrar respostas. Só partindo da informação adquirida podem ser feitas perguntas capazes de ter resposta, e não perguntas deslocadas, no vazio, que nunca poderão ser respondidas. É necessário caminhar passo a passo, um após o outro: em toda busca que se queira chegar a algo é preciso estabelecer com precisão o problema, planejar possíveis linhas de ataque conceitual e valorar as aparentes soluções. Tal enfoque será um dos que estarão presentes neste estudo crítico da História da Computação através de uma visão conceitual. Pode-se aplicar a essa história a mesma afirmação que faz Thomas Khun sobre a História da Ciência: está marcada por interrupções repentinas, por inesperadas e imprevistas mudanças, exigindo modelos de conhecimento que supoêm alterações inesperadas no processo do seu desenvolvimento ([RA91], vol III). Em função desse fato torna-se difícil a visão da evolução dos computadores mediante uma mera enumeração linear de invenções-nomes-datas †, forçando-nos a tentar compreender as forças e tendências que, no passado, prepararam o presente. O desejo de conhecer as vinculações que os atos de determinados homens estabeleceram no tempo vai acompanhado do impulso de compreender o significado de tais atos no conjunto da História da Computação.
2.1 A História e suas interpretações Desde o seu nascimento nas civilizações ocidentais, tradicionalmente situado na antigüidade grega (Heródoto, século V a.C. é considerado por alguns como o “pai da história”), a ciência histórica se define em relação a uma realidade que não é construída nem observada, como na matemática ou nas ciências da natureza, mas sobre a qual se “indaga”, se “testemunha”. Este aspecto da história-relato, da história-testemunho, jamais deixou de estar presente no desenvolvimento da ciência histórica.
*
Se a história é ou não ciência é uma questão muito disputada entre vários autores e tema ainda polêmico. No tratado História e Memória do medievalista francês Jacques Le Goff [Gof94], capítulo História, item 1, desenvolve-se uma panorâmica geral dessas correntes e tendências existentes entre historiadores e teóricos da história.
†
Obviamente não se quer tirar aqui a importância da datação. Como diz Le Goff, “o historiador deve respeitar o tempo que, de diversas formas, é condição da história e que deve fazer corresponder os seus quadros de explicação cronológica à duração do vivido. Datar é, e sempre será, uma das tarefas fundamentais do historiador, mas deve-se fazer acompanhar de outra manipulação necessária da duração − a periodização − para que a datação se torne historicamente pensável” [Gof94]. Não se dispensará este trabalho de ter uma cronologia, a partir da qual se possa situar no tempo os homens e os fatos mais representativos de uma determinada corrente de idéias ou descobertas. No anexo I há uma tabela da evolução conceitual e tecnológica por data.
17
A partir do momento em que se começaram a reunir documentos escritos, a historiografia começa a ultrapassar os limites do próprio século abrangido pelos historiadores, superando também as limitações impostas pela transmissão oral do passado. Com a construção de bibliotecas e a criação de arquivos iniciou-se o desenvolvimento de métodos de crítica. Sobretudo depois do final do século XVII, estabeleceram-se os fundamentos para uma metodologia aplicada à história, sob uma radical exigência de submeter todas as investigações à razão crítica [Fer85]. A segunda metade do século XIX impôs o paradigma de uma história que a partir daí chamar-se-á paradigma “tradicional” ou paradigma “rankeano”, derivado do nome do historiador Leopold von Ranke (1795-1886). Ranke propunha apresentar os fatos tais como o “foram na realidade” e os historiadores europeus criaram os grandes esquemas políticos e institucionais. Características desse paradigma, conforme Peter Burke, historiador de Cambridge [Bur92b]: • a história diz respeito essencialmente à política; • é essencialmente uma narrativa de acontecimentos; • “visão de cima” no sentido de estar concentrada nos feitos dos grandes homens; • baseada em documentos; • deveria perguntar mais pelas motivações individuais do que pelos movimentos coletivos, tendências e acontecimentos; • a história é objetiva, entendendo-se por isso a consideração do suceder como algo externo ao historiador, suscetível de ser conhecido como objeto que se põe diante do microscópio, almejando uma neutralidade. Ainda no século XIX algumas vozes soaram discordantes desse paradigma histórico. Entre outras coisas devido ao seu caráter reducionista, onde situações históricas complexas são vistas como mero jogo de poder entre grandes homens (ou países), e também em função daquilo que se poderia chamar a “tirania” do fato ou do documento, importantes sem dúvida, mas que não deve levar a abdicar de outros tipos de evidências. Como relata Peter Burke, “Michelet e Burckhardt, que escreveram suas histórias sobre o Renascimento mais ou menos na mesma época, 1865 e 1860 respectivamente, tinham uma visão mais ampla do que os seguidores de Ranke. Burckhardt interpretava a história como um corpo onde interagem três forças − Estado, Religião e Cultura − enquanto Michelet defendia o que hoje poderíamos descrever como uma ‘história da perspectiva das classes subalternas’(...)” [Bur92a]. Outros opositores da “história política” foram os historiadores da evolução das sociedades sob o ponto de vista econômico e os fundadores da nova disciplina da sociologia, que começaram a surgir na França. Dois fatos, no entanto, ocorridos nas quatro primeiras décadas do século XX acabariam por sacudir e arruinar a confiança nos princípios rankeanos, O primeiro foi a rápida difusão do marxismo, que renuncia à neutralidade, afirmando que o materialismo dialético é a única filosofia científica válida para a interpretação da história; o segundo, a grande crise do ano de 1929, que revelou até que ponto os fatores econômicos e sociais podem exercer uma ação decisiva.
18
É desse período o nascimento da revista francesa Annales, considerada uma das mais importantes propulsoras da chamada Nova História. Nova História é um termo que data de 1912, quando o estudioso americano James Harvey Robinson publicou um livro com esse título. Segundo Robinson, história inclui todo traço e vestígio de tudo o que o homem fez ou pensou desde seu primeiro aparecimento sobre a terra. Em relação ao método, a ‘nova história’ vai servir-se de todas aquelas descobertas que são feitas sobre a humanidade, pelos antropólogos, economistas, psicólogos e sociólogos [Bur92b]. Surgiu a idéia de uma história total, com a qual quiseram os autores da Escola dos Annales advertir que, frente à unilateralidade e reducionismo do materialismo dialético, a compreensão do passado exige que todos os dados – políticos e institucionais, ideológicos, econômicos, sociais, da mentalidade humana, etc. – fossem fundidos e integrados para conseguir uma explicação correta. Uma tarefa árdua, na prática quase impossível, mas que marca um ideal, uma direção, uma meta que é preciso atingir. Surgiram ainda outros enfoques como, por exemplo, a história do ponto de vista quantitativo, durante certo tempo em moda na Europa e Estados Unidos, que procura utilizar fontes quantitativas, métodos de contagem e até modelos matemáticos na sua pesquisa histórica, ou as histórias que abrangem um determinado campo da vida humana como a história da arte ou a história das ciências [GN88]. O panorama atual, de acordo com os historiadores, é o de uma história fragmentada, detectando-se alguns sinais de busca de uma síntese. Ainda se está a uma longa distância da “história total”. Na verdade, é difícil acreditar que esse objetivo possa ser facilmente alcançado – ou até que será alcançado –, mas alguns passos já foram e estão sendo dados em sua direção. Paralelamente a todos esses esforços, surgiram também os teóricos da história, que se esforçaram ao longo dos séculos para introduzir grandes princípios que pudessem fornecer linhas gerais de compreensão para a evolução histórica. A filosofia da história é o estudo da realidade “latente”, ou melhor, do “pano de fundo” dos fatos históricos. Qual é a natureza, por exemplo, das crises de crescimento e decadência de uma civilização, quais foram as causas? Sendo a história não a simples crônica que apresenta os fatos de um modo minucioso, mas sim sua investigação, que se esforça por compreender os eventos, captar relações, selecionar fatos, como fazer isso, qual é a estrutura essencial da realidade histórica? A filosofia da história – termo temido por muitos autores porque poderia supor apriorismos, preconceitos, idealismos – responderá basicamente a duas questões fundamentais: • o que são os fatos históricos − historiologia morfológica; • para qual fim se dirigem − historiologia teleológica.
2.2 A História da Ciência O nascimento e o desenvolvimento da ciência experimental, a partir do século XVII, estiveram freqüentemente acompanhados de polêmicas filosóficas: sobre o alcance do raciocínio científico, seus limites, o que é a verdade na ciência, etc. Diferentes posturas filosóficas da época moderna tentaram solucionar tais polêmicas, mas foi no século XX que 19
realmente se chegou a constituir uma filosofia da ciência como disciplina autônoma. Do Círculo de Viena em 1929, passando por Karl Popper, Thomas Khun, Imre Lakatos, Paul Feyerabend, Wolfang Stegmüller, entre outros, protagonizou-se um intenso debate em torno do valor do conhecimento *. Para este trabalho, o que interessa é que toda essa movimentação em torno da racionalidade da ciência também teve seu reflexo na teoria da história, pelas novas epistemologias científicas que foram surgindo. Os debates trouxeram para o primeiro plano a questão da função da historiografia da ciência e alguns problemas teóricos relativos a essa historiografia. A importância de uma história da ciência que vá além da história episódica ou dos resultados obtidos ficou ressaltada. Em ([RA91], volume III) resume-se quais seriam as funções da História da Ciência: • sendo a ciência fator de história, não se pode entender o desenvolvimento dessa história, especialmente da época moderna e da época contemporânea, se não conhecermos a História da Ciência e da Tecnologia; • além de ser fator de história, a ciência também é fator de cultura: assim, estará vedada a compreensão do desenvolvimento da cultura mais ampla se não se compreende a História da Ciência e seu entrelaçamento e condicionamento recíproco com a História da Filosofia, as concepções morais, políticas e outras; • o conhecimento da História da Ciência é necessário para o trabalho do cientista, porque o pleno entendimento do conteúdo de uma teoria pode ser obtido mediante o confronto dessa teoria com outras, e essas outras teorias devem ser buscadas onde quer que estejam disponíveis, tanto no presente como no passado; • a História da Ciência se revela como mais um ingrediente para a didática das ciências, tanto no que se refere à motivação do aprendizado, como no que se refere à educação no antidogmatismo, isto é, no reconhecimento do erro como uma fonte científica de aperfeiçoamento da teoria; • a História da Ciência possibilita uma maior consciência das normas metodológicas necessárias ao trabalho de pesquisa. Os problemas do como realizar essas funções são complexos, bastando lembrar as diferentes escolas de história. De qualquer maneira, é a disciplina da história que é revitalizada, despertando a capacidade do homem de assumir o seu passado e a partir dele dar respostas criadoras aos novos problemas que aparecem. É muito significativo que entre os sintomas da decadência de uma cultura ou de uma ciência esteja precisamente isto: o repúdio ao passado que as valorizava.
*
Para aprofundar no assunto, em [Art94] há uma síntese das discussões e evolução das polêmicas.
20
2.3 Enfoque histórico adotado A história não é exclusivamente caos ou acaso: existe no comportamento humano um certo grau de ordem e padrão observáveis de uma regularidade parcialmente previsível. The Social Sciences in Historical Study (vários autores)
Uma das intenções do presente estudo é procurar compreender e estabelecer as diretrizes para uma disciplina da História da Ciência, a História da Computação, através da seleção das idéias, teorias e paradigmas que ajudaram os homens em sua busca da automatização dos processos aritméticos e que conduziram à tecnologia dos computadores. Interessa portanto o enfoque teleológico, citado anteriormente (A história e suas interpretações). A historiologia teleológica aplica-se na interpretação, de trás para frente, da conexão concreta do curso histórico. Trata-se de compreender duas coisas: a primeira, que na série confusa dos fatos históricos podem-se descobrir linhas, facções, traços, em suma, uma 'fisionomia', conforme diz Ortega y Gasset; a segunda, tentar mostrar um sentido para a história, desde a perspectiva do seu fim. Conforme outro historiador, Toynbee * [Toy87], o ponto de partida da interpretação histórica, como o de qualquer tarefa intelectual, é o pressuposto de que a realidade tem algum significado que nos é acessível pelo processo mental da explicação. Considera-se que a realidade, ainda que não totalmente, tem um sentido, isto é, que há um ‘acúmulo de ordem’ nas relações entre os milhares de fenômenos observados na realidade e dissecados pela nossa inteligência. “Todo raciocínio pressupõe a existência de conexões na natureza, ... e seu único objetivo é determinar que elementos essas conexões reúnem” [H30]. Na abordagem teleológica, a história não é o fato meramente enumerado, mas organizado, selecionado, relacionado. Como diz Kenneth O. May, “de modo semelhante à física, nós não pensamos que o mero registro de uma observação por um físico é Física. Isso se torna Física quando é interpretado, organizado, relacionado com outras partes da Física. Do mesmo modo, o conhecimento cronológico torna-se história somente quando ele é selecionado, analisado, acompanhado da sua compreensão dentro de um contexto mais amplo. Significa que a história dos computadores deveria ser compreendida não do ponto de vista 'histórico', mas em relação ao computador propriamente. Deveria dar a perspectiva, através das idéias, sobre o que o futuro desenvolvimento deveria ser, ao que as futuras linhas de desenvolvimento devem chegar, e assim por diante” [May80]. O conhecimento histórico, por sua própria natureza, é inseparável do historiador, pois é este que, da documentação coletada, destaca o singular, elevando o fato à condição de histórico. Procurou-se, então, registrar neste livro, tecendo um fio de história, os fatos conceituais, com a mínima periodização e datações possíveis. Por fatos conceituais entendam-se aqui as idéias e conceitos relevantes que fundamentaram a incansável busca pela mecanização do raciocínio. Entre estes estarão: Álgebra, Sistema Axiomático, Lógica Matemática, Sistema Axiomático Formal, Computabilidade, Máquina de Turing, Tese de Church, Inteligência Artificial, e outros mais. *
Se bem que em outro contexto, pois tinha uma outra linha de pensamento historiográfico, mas que serve também para o enfoque adotado no trabalho.
21
É uma história que se vai tornando incrivelmente complexa, conforme vai avançando no tempo. Os trabalhos isolados dos precursores da Física e da Matemática, e mais recentemente da própria Ciência da Computação, justamente por causa de seu isolamento, são relativamente fáceis de discernir. Mas a partir de 1950, com a proliferação das pesquisas nas universidades, nos grandes laboratórios, nas indústrias − privadas ou estatais −, observouse um desenvolvimento acelerado da informática. A Ciência da Computação avançou em extensão e profundidade, tornando-se difícil até a tarefa de enumeração dos fatos. Surge a tentação de particularizar mais ainda. Pode-se falar por exemplo de uma história dos microcomputadores, tomando o ano de 1947 quando três cientistas do Laboratório da Bell Telefonia, W. Shockley, W. Brattain e J. Bardeen, desenvolveram sua nova invenção sobre o que seria um protótipo do transistor e de como, a partir daí, ano após ano, hardware e software progrediram e criaram novos conceitos, estruturas, em ritmo vertiginoso. E assim também no desenvolvimento das Linguagens de Programação, dos Compiladores, da Teoria da Computação, da Computação Gráfica, da Inteligência Artificial, da Robótica, e outras áreas. Começa a tornar-se difícil separar o que é significativo dentro do enfoque crítico adotado. Surge o problema da delimitação das fronteiras, pois as várias especialidades se misturam muitas vezes *, apesar de ter um corpo central definido. Para se atender à finalidade de uma História da Computação de caráter conceitual, este trabalho estará limitado prioritariamente ao campo das idéias, acenando para outros campos quando necessário se sua repercussão atingir a linha de evolução seguida. De qualquer modo, embora enfatizando o aspecto do pensamento – o que se tinha em mente quando algo foi feito ou definido, e o que este algo fundamentará mais tarde –, será necessário o estabelecimento de alguns marcos temporais. Os acontecimentos da história produzem-se em determinados lugares e tempos. Esta pontualização possibilitará ir unificando esse suceder histórico específico de que se está tratando, em um processo único que mostre claramente a mudança, o desenvolvimento e o progresso. Não se dispensará absolutamente o uso das datas assim como dos fatos tecnológicos que possam ser considerados verdadeiras mudanças de paradigma †. Não se deve estranhar o recurso à História da Matemática. Aliás é preciso dizer que, no início, pelo menos nos círculos acadêmicos, a Computação apareceu como algo dentro dos Departamentos de Matemática, e ainda hoje, em muitas Universidades, a Ciência da Computação aparece como um Departamento de um Instituto de Matemática. Dentre os diversos tópicos científicos sujeitos à investigação, a Matemática é o que melhor combina um caráter abstrato com um uso universal em outros campos do conhecimento. Sua relação com a Computação é muito estreita, quase que inseparável. As primeiras máquinas construídas foram resultado de buscas por parte dos membros dessa comunidade do conhecimento.
*
Pense-se na Robótica por exemplo, onde estão incluídas a Inteligência Artificial, as Linguagens de Programação, a Computação Gráfica, etc.
†
No anexo I encontra-se uma tabela cronológica dos acontecimentos conceituais e tecnológicos, que dará uma visão mais geral da evolução da História da Computação.
22
3 Motivações para se estudar a História da Computação Uma vez apontada a importância e necessidade do estudo da história em geral e, mais especificamente, da história da ciência e da tecnologia, fica fácil perceber que o estudo da História da Computação é um interessante relevo dentro da vasta paisagem do conhecimento científico. Basta lembrar que o impacto dessa tecnologia na nossa sociedade é imenso e nossa dependência dela cada vez maior. Seguem abaixo outros fatores motivadores para esse estudo.
3.1 Necessidade de discernir fundamentos Comparada com outras áreas, a Ciência da Computação é muito recente. Mas, nestes poucos anos (pode-se apontar a Segunda Guerra Mundial como um marco inicial, quando efetivamente se construíram os primeiros computadores digitais) o avanço da Computação foi exponencial, abrindo-se em um grande leque de tecnologias, conceitos, idéias, transformando-se em uma figura quase irreconhecível. Atualmente falar de estado da arte na Computação tornou-se sem sentido: sob que ótica, perspectiva, campo ou área? Apesar da sua recente irrupção na história contemporânea, a partir dos anos 40 do século XX, ela já se tornou complexa, ampla, geradora de novos enfoques, tornando-se um verdadeiro desafio a quem queira entendê-la e traçar sua evolução. Ao mesmo tempo, cada nova geração de informatas depara-se com um duplo problema: a impossibilidade de ter uma visão global sobre todo o conhecimento precedente e, mais acentuadamente ainda, a história do desenvolvimento das várias especialidades. Não estão individualizados os eventos, por vezes complexos, que antecederam o saber atual e também não se possui um quadro que os reúna, para se ter uma idéia geral, coerente e significativa. A evolução tecnológica se nos apresenta abrupta, através de saltos descontínuos, e todo o trabalho que antecede cada etapa aparece coberto por uma camada impenetrável de obsolescência, algo para a paleontologia ou para os museus, como se nada pudesse ser aprendido do passado. O resultado é um empobrecimento do panorama atual da realidade da informática. Não se estabelecem conexões entre os vários campos da Ciência da Computação, caindo-se facilmente no utilitarismo. As camadas mais profundas dos conceitos não são atingidas, o conhecimento torna-se bidimensional, curto, sem profundidade. Junto a isso, cedendo talvez a um imediatismo ou deixando-se levar por uma mentalidade excessivamente pragmática de busca de resultados, há uma forte tentação de se estabelecerem ementas para o estudo da Ciência da Computação preocupando-se mais com determinados produtos − linguagens, bancos de dados, sistemas, aplicativos, etc. − e pouco se insiste na fundamentação teórica. Os matemáticos aprendem aritmética e teoria dos números, pré-requisitos sem os quais não se evolui no seu campo do saber; os engenheiros, cálculo diferencial, física; os físicos trabalham arduamente na matemática, e assim por diante. Quais os fundamentos correspondentes na Computação? Conhece-se a Álgebra Lógica de George Boole, um matemático que buscando relacionar o processo humano de raciocínio e a Lógica Matemática, 23
desenvolveu uma ferramenta para os futuros projetistas de computadores? Sabe-se que a revolução da Computação começou efetivamente quando um jovem de 24 anos, chamado Alan Mathison Turing, teve a idéia de um dispositivo teórico para buscar a resposta a um desafio do famoso matemático David Hilbert – um dos primeiros a falar sobre computabilidade –, e que em um ‘journal’ de matemática comentou aos seus colegas que era possível computar na teoria dos números, por meio de uma máquina que teria armazenadas as regras de um sistema formal? Que as pesquisas de Turing estão relacionadas com o trabalho de Gödel – cujo Teorema que leva o seu nome é considerado um dos mais famosos resultados do século XX, dentro da matemática? Pode-se citar ainda a Tese de Turing-Church que possibilitou aos cientistas passarem de uma idéia vaga e intuitiva de procedimento efetivo para uma noção matemática bem definida e precisa do que seja um algoritmo. E antes de todos esses, o esforço de dezenas de pensadores de diferentes culturas, para encontrar melhores formas de usar símbolos, que viabilizou o desenvolvimento da Ciência Matemática e Lógica, e que acabaram fundamentando toda a Computação.
3.2 Incentivo à educação para a qualidade do software A investigação histórica sob o prisma citado − das idéias e conceitos fundamentais que formaram a base do desenvolvimento da Computação − poderá contribuir para uma questão que assume importância decisiva e crucial: a qualidade do software. É preciso aqui tecer um comentário relacionado ao tema da qualidade. A expressão “crise do software” [Nau69] apareceu no final da década de sessenta na indústria tecnológica da informação. Referia-se aos altos custos na manutenção de sistemas computacionais, aos custos relativos a novos projetos que falhavam ou que consumiam mais recursos que os previstos, etc., realidades presentes no dia a dia de muitos centros de processamento de dados. Ao lado disso, havia, e ainda há, uma disseminação anárquica da cultura informática, impregnando cada dia mais a vida social e trazendo, como conseqüência, uma dependência cada vez maior da sociedade em relação ao computador. Torna-se fundamental, portanto, diminuir as incertezas presentes no processo de elaboração dos sistemas de computação. A resposta a esses desafios já há alguns anos vem sendo formulada no sentido de se estabelecer uma execução disciplinada das várias fases do desenvolvimento de um sistema computacional. A Engenharia de Software surgiu tentando melhorar esta situação, propondo abordagens padronizadas para esse desenvolvimento. Algumas dessas propostas vão em direção ao uso de métodos formais * nos processos de elaboração do sistema, basicamente através da produção de uma especificação formal em função das manifestações do problema do mundo real que estiver sendo tratado e através da transformação dessa especificação formal em um conjunto de programas executáveis. Há também pesquisas dentro da Computação que caminham em direção ao desenvolvimento de métodos numéricos, em direção à lógica algébrica. George Boole, em sua obra que deu início a uma nova arrancada no desenvolvimento da Lógica Matemática e da *
Um método se diz formal quando o conjunto dos procedimentos e técnicas utilizadas são formais, isto é, têm um sentido matemático preciso, sobre o qual se pode raciocinar logicamente, obtendo-se completeza, consistência, precisão, corretude, concisão, legibilidade e reutilização das definições abstratas.
24
Computação, como se verá, já dizia: “A lógica simbólica ou lógica matemática nasce com a vocação de ferramenta para inferência mecanizada através de uma linguagem “simbólica”[Boo84]. Busca-se por essa vertente a criação de uma metalinguagem lógicomatemática para o desenvolvimento de sistemas, de tal maneira que se possa constituir no instrumento que transfere a precisão da matemática aos sistemas. A figura abaixo, conforme [Coe95], serve como ilustração dessa idéia.
Mundo
Real
Metalinguagem
Sistemas
Matemática Ciência da Computação
Álgebra
Filosofia
Lógica
Figura 1: O desenvolvimento de sistemas através de especificações formais
Técnicas provenientes da área da lógica matemática vêm sendo aplicadas a diversos aspectos do processo de programação de computadores *. Não é sem dificuldades que evoluem as investigações sobre o papel do raciocínio formal matemático no desenvolvimento do software. Mas é preciso ressaltar a sua importância pois através da especificação formal e verificação obtém-se uma excelente guia para o desenvolvimento de programas corretos e passíveis de manutenção. Talvez não se possa pedir que todo programa seja formalmente especificado e verificado, mas é de se desejar que todo programador que almeje profissionalismo esteja ao menos familiarizado com essas técnicas e seus fundamentos matemáticos [BBF82]. Concluindo-se o comentário sobre os problemas relativos à qualidade do software, pode-se dizer que a solução para o problema do desenvolvimento de software passa por um *
Entre os aspectos estudados encontram-se: (i) verificação (prova de corretude): a prova de que um dado programa produz os resultados esperados; (ii) terminação: a prova de que um dado programa terminará eventualmente a sua execução; (iii) derivação (desenvolvimento): construção de um programa que satisfaz a um conjunto de especificações dadas; (iv) transformação: modificação sistemática de um programa dado para obter um programa equivalente, como estratégia para a derivação de novos programas por analogia a soluções conhecidas ou como método de otimização da eficiência de programas [Luc82].
25
treinamento formal mais intenso na formação dos futuros cientistas da computação. Desde os primeiros anos da universidade é necessário que se estudem os princípios matemáticos, e em alguns casos até físicos (como se poderá falar em Computação Gráfica se não se sabe quais são as propriedades de um sistema de cores), que formam o substrato da Computação: o que é computável (metamatemática, computabilidade), a complexidade que exige a execução de um cálculo (análise de algoritmos, teoria da complexidade), fundamentos de algumas abstrações (teoria dos autômatos, teoria das linguagens formais, teoria de rede, semântica denotacional, algébrica, etc.), fundamentos dos raciocínios que se fazem em programação (sistemas de provas, lógica de Hoare), etc. Ou seja, seria interessante notar que na Ciência da Computação há um forte componente teórico. É um corpo de conhecimentos, sistematizado, fundamentado em idéias e modelos básicos que formam a base das técnicas de engenharia e eletrônica usadas na construção de computadores, tanto no referente ao hardware como ao software. Como não falar de indução matemática quando se deseja seriamente explicar a programação de computadores? Ou falar de uma linguagem de programação sem introduzir a teoria dos autômatos? Com o desenvolvimento de conceitos matemáticos adequados será possível estabelecer um conjunto de procedimentos que assegure aos sistemas a serem desenvolvidos uma manutenção gerenciável, previsível e natural, como ocorre na engenharia. O estudo da História da Computação, não já sob o enfoque de datas e nomes − importantes também e necessários, para não se cair na pura especulação −, mas sob o aspecto das idéias, de seus fundamentos e suas conseqüências, pode ser uma sólida base, um ponto de partida, para sensibilizar e entusiasmar o aluno sobre a importância dos fundamentos teóricos, para ajudá-lo a ver o que um determinado conceito tem como pressupostos.
3.3 Tornar claros e ligar os fatos Entre os objetivos da ciência histórica pode-se aceitar como axiomático o de procurar dar um significado aos acontecimentos. É a busca de se dar sentido à história. Este trabalho, feito dentro de uma perspectiva teleológica da história, procurará estabelecer uma conexão causal entre eventos, para se começar a entender o sentido do passado, dispondo-o numa espécie de sistema organizado, para torná-lo acessível à compreensão. Sob outro enfoque, pode-se ver a História da Ciência da Computação como um “olhar para trás com o fim de descobrir paralelismos e analogias com a tecnologia moderna, com o fim de proporcionar uma base para o desenvolvimento de padrões através dos quais julguemos a viabilidade e potencial para uma atividade futura ou atual” [Lee96]. Quer dizer, analisar o passado e reconhecer tendências que nos permitam prever algum dado futuro. Dizia John Backus, criador do FORTRAN e da Programação Funcional: “Na ciência e em todo trabalho de criação nós falhamos repetidas vezes. Normalmente para cada idéia bem sucedida há dúzias de outras que não funcionaram” (1994, discurso ao receber o prêmio Charles Stark Draper). A história cataloga e registra tais falhas, que então se tornam uma fonte especial de aprendizado, ensinando tanto quanto as atividades bem sucedidas. Mais ainda, dão-nos o caminho, por vezes tortuoso, por onde transcorreram as idéias, as motivações, as inovações. Ou seja, é interessante e instrutivo o estudo da história de qualquer assunto, não somente pela ajuda que nos dá para a compreensão de como as idéias nasceram 26
− e a participação do elemento humano nisso − mas também porque nos ajuda a apreciar a qualidade de progresso que houve.
3.4 Acompanhar novas tendências É sintomático notar que pela primeira vez incluiu-se no curriculum para Ciência da Computação, desenvolvido pela ACM (Association for Computing Machinery) e IEEE (Institute of Electrical and Electronics Engineers) Computer Society Joint Task Force, em 1991, módulos relativos à história em 4 áreas: Inteligência Artificial, Sistemas Operacionais, Linguagens de Programação e Temas Sociais, Éticos e Profissionais. Mais recentemente ainda, na 6a IFIP (International Federation for Information Processing), evento realizado dentro da Conferência Mundial dos Computadores na Educação, transcorrida em Birmingham, Inglaterra, de 20 a 24 de julho de 1995, estimulou-se não só “a preservação das peças de computadores, o registro de memórias dos pioneiros e a análise do impacto exterior das inovações nos computadores, mas também o desenvolvimento de módulos educacionais na História da Computação” [Lee95]. Significativo também é a introdução, nos cursos de Ciência da Computação, da disciplina História da Computação, principalmente a partir da década de 1990, em algumas universidades. Pode-se citar a Universidade de Stanford e o Instituto Charles Babbage, da Universidade de Minnesota dedicado a promover o estudo da História da Computação, EUA, o arquivo Nacional para a História da Computação da Universidade de Manchester, Inglaterra, Universidade de Waterloo (Canadá) e similar em Bordeaux, França, Universidade de Wales Swansea, Austrália, etc. Também aumentaram o números de museus e instituições governamentais ou particulares que prestam esse serviço de preservação da história da tecnologia informática, como por exemplo o museu de Boston, os museus de instituições militares americanas e organizações do porte do IEEE. Esta última promoveu em 1996 o lançamento de pelo menos quatro livros sobre o assunto História da Computação, tendo construído um “site” na Internet, narrando os eventos dessa história desde o século XVII. Na Internet proliferaram os museus de imagens e cronologias sobre assuntos específicos como Microcomputadores, Computação Paralela, Linguagens de Programação, etc.
3.5 Revalorizar o fator humano Finalmente há o grande tributo que se deve fazer a esses homens que, ao longo da história da ciência Matemática, Lógica, Física, e mais recentemente da Computação, não se deixaram levar pelo brilho atraente daquilo que chama a atenção e das demandas mais imediatas. Motivados pela pura busca do saber formaram o arcabouço, a infra-estrutura que 27
possibilitou a revolução da informática. Os bits e todas as partes de um computador (incluindo o software) são na verdade o resultado de um processo, de uma evolução tecnológica de vários séculos, partilhada por inúmeros personagens, cada um acrescentando sua pequena ou grande contribuição. “Qualquer que seja, porém, o destino da informática, ela já tem o seu lugar na História, constituindo-se num dos fatores preponderantes que moldam o conturbado mundo no fim do século XX. Sem a compreensão do seu papel social, não será possível entender o processo histórico em marcha, nem a direção do futuro. Desse modo, a pesquisa da História da Computação tem um significado fundamental no presente” [Mot96].
28
4 Evolução dos conceitos Considerando as idéias e os conceitos como uma das linhas que conduzirão ao grande desenvolvimento tecnológico da Computação a partir da década de 40 do século XX, este capítulo faz referência a alguns aspectos da evolução da Matemática, e mais especificamente de alguns dos seus ramos, no caso a Álgebra e a Lógica Simbólica ou Matemática, de onde nos vieram o rigor e o método axiomático, até chegar às noções de computabilidade e procedimento, com Turing e Church.
4.1 Primórdios 4.1.1
A evolução do conceito de número e da escrita numérica *
Talvez o passo mais fundamental dado nestes primeiros tempos tenha sido a compreensão do conceito de número, isto é, ver o número não como um meio de se contar, mas como uma idéia abstrata. O senso numérico foi o ponto de partida. Trata-se da sensação instintiva que o homem tem das quantidades, atributo participado também pelos animais irracionais (a gata mia quando um dos filhotes não está no ninho; determinados pássaros abandonam o ninho quando um dos seus ovos foi mudado de lugar); na vida primitiva bastava esse senso numérico. Mas com o começo da criação dos animais domésticos era necessário saber algo mais, pois se a quantidade não fosse melhor conhecida, muitas cabeças se perderiam. Inventou-se a contagem através do estabelecimento de uma relação entre duas ou várias quantidades, na qual cada elemento de uma corresponde a um elemento de outra e nenhum elemento deixa de ter o seu correspondente (por exemplo, pedrinhas de um monte com ovelhas de um rebanho). No entanto essa relação biunívoca se dá somente no âmbito mental (ovelhas e pedra estão na natureza e não se dão conta um do outro). Não está registrado de que forma ocorreu o reconhecimento, pelos nossos antepassados mais primitivos, de que quatro pássaros caçados eram distintos de dois, assim como o passo nada elementar de associar o número quatro, relativo a quatro pássaros, e o número quatro, associado a quatro pedras. Essa correspondência é um pensamento que é uma espécie de linguagem. Nessa linguagem estão envolvidas a quantidade, a correspondência biunívoca (o número) e a sua expressão (os elementos usados para contagem: pedras, dedos, seqüências de toques no corpo, e outras formas mais primitivas de expressar um numeral). A visão do número como uma qualidade de um determinado objeto é um obstáculo ao desenvolvimento de uma verdadeira compreensão do que seja um número. Somente quando, de acordo com um dos exemplos dados, o número quatro foi dissociado dos pássaros ou das pedras, tornando-se uma entidade independente de qualquer objeto – uma abstração, como diriam os filósofos –, é que se pôde dar o primeiro passo em direção a um sistema de notação, e daí à aritmética. Conforme Bertrand Russell, “foram necessários muitos
*
Este item está baseado em [Dan54], [Wil97] e [New56], principalmente no segundo
29
anos para se descobrir que um par de faisões e um par de dias eram ambos instâncias do número dois” [Dan54]. E assim como se criaram símbolos escritos para expressar idéias, também criou-se a escrita numérica. Os numerais escritos surgem nas civilizações antigas (egípcia, babilônica e chinesa) e se baseiam na repetição de símbolos. No caso dos egípcios, ao se completar o décimo elemento, tomava-se um outro símbolo para representar o número.
Figura 2: Sistema numérico clássico de adição egípcio baseado em hieróglifos [Wil97]
Foram criadas várias escritas numéricas: os gregos e os romanos usavam letras do alfabeto. Os algarismos romanos foram tão difundidos que existem até hoje, pelo menos para certas funções especiais como marcar horas em relógios e numerar capítulos em livros, especialmente livros formais como a Bíblia. Este amplo processo de criação conclui-se com a escrita numérica criada pelos hindus, há vários séculos. O advento do que nós chamamos de sistema numérico hindu-arábico, com seu rígido esquema de valores e posições, juntamente com o zero (que era usado para representar um espaço em branco), foi uma das grandes invenções da humanidade, e possibilitou o desenvolvimento dos métodos matemáticos e aritméticos, que a partir disso evoluíram muito mais do que qualquer coisa que se conhecia até então*. O uso do zero não era incomum em certos sistemas numéricos posicionais primitivos. Os babilônios usaram um caráter parecido com o zero para representar uma coluna vazia no meio do número por volta do ano 200 a.C., mas isso não era muito comum no sistema deles. Se um número, por exemplo 1024, precisasse de um zero para separar o dígito 1 do dígito 2, eles usavam o símbolo do zero do mesmo modo que se faz hoje. No entanto, se eles tivessem que representar um número como o 1000, parece que eram incapazes de conceber o fato de que o símbolo zero pudesse ser usado para simplesmente “cobrir” os espaços restantes, e eles representavam apenas o número 1, deixando ao leitor a tarefa de descobrir se aquilo significava 1000, e não 10, 100 ou até mesmo 1. * Olhando-se para trás na História, parece que a invenção de um sistema numérico de posições rígidas, e ainda de um símbolo para designar o zero, deveria ter sido um extensão óbvia de alguns dos primeiros sistemas numéricos de posições. Essa idéia é falsa: basta pensar que escapou à percepção de grandes autores da Antigüidade, como Arquimedes ou Apollonius de Pergam, mesmo quando eles percebiam as limitações de seus sistemas.
30
Exatamente onde e quando os homens começaram a utilizar o atual sistema numérico posicional, e os 10 dígitos em que eles eram baseados, continua a ser um fato obscuro. Certamente veio até a Europa pelos árabes, e é bem certo de que eles o obtiveram do povo do subcontinente indiano. Onde e quando os indianos obtiveram esse sistema não é conhecido. Pode ter sido uma invenção indígena, ou ter vindo do leste da Indochina, ou um desenvolvimento do uso babilônico do símbolo da coluna vazia. Na Índia antiga, bem como em muitas sociedades, a arte da aritmética foi desenvolvida em um maior grau do que o necessário para o comércio, por causa da sua importância para a religião local. Todas as três primeiras religiões indianas (Janaísmo, Budismo e Hinduísmo) consideravam a aritmética importante, como mostra o fato de ser exigida entre os estudos fundamentais a serem feitos pelos candidatos ao sacerdócio. O uso mais antigo que se tem notícia da matemática indiana está em trabalhos escritos em forma de verso, onde complicados expedientes literários eram utilizados para representar números, de modo a se preservar a rima e a métrica dos poemas. Até mesmo documentos que usam numerais para denotar números nem sempre são guias seguros para informar quando tal prática começou a aparecer. Parece que, em alguma época no século XI, foi feita uma tentativa para se racionalizar o sistema de propriedade da terra em partes da Índia, o que levou muitas pessoas a produzirem documentos forjados para pedir seus vários lotes. Das 17 inscrições conhecidas usando numerais antes do século X, todas, à exceção de duas, mostraram ser falsificações. A mais antiga e indubitável ocorrência do zero na inscrição escrita na Índia foi em 876 d.C., com os números 50 e 270 sendo representados em uma versão local dos dígitos indianos. A história do nosso sistema numérico fica muito mais clara a partir do século IX d.C. No século VII, quando a dinastia dos Califas começou em Bagdá, o aprendizado das culturas adjacentes foi absorvido em uma nova e expansiva cultura árabe. Quando os árabes conquistavam um país, eles costumavam adquirir seu modo de escrita, particularmente a notação dos numerais do povo conquistado e procurar traços de conhecimento na literatura que sobreviveu à guerra. Graças aos trabalhos do matemático al-Kharazmi (mais a frente se falará da importância deste homem originário da Pérsia), o uso dos numerais hindus rapidamente se expandiu por todo o império árabe. A eventual expansão desses numerais pela Europa é mais facilmente explicada a partir dos contatos gerados entre árabes e europeus pelo comércio e pelas guerras. É provável que os comerciantes italianos conhecessem o sistema de contas de seus parceiros comerciais, e que os soldados e sacerdotes que retornaram das cruzadas também tivessem uma ampla oportunidade de ter contato com o sistema de notação e aritmética árabes. O mais antigo manuscrito europeu contendo numerais hindu-arábicos de que se tem notícia foi escrito no claustro Albeda, na Espanha em 976 d.C. Os novos numerais também foram encontrados em outro manuscrito espanhol de 992 d.C., em um manuscrito do século X encontrado em St. Gall, e em um documento do Vaticano de 1077 d.C. Entretanto seu uso não foi muito difundido durante esse período inicial, e é provável que pouquíssimas pessoas tenham entendido o sistema antes da metade do século XIII.
31
Figura 3: Mais antigo manuscrito europeu com numerais indoarábicos, cfr. [Ifr89]
A primeira grande tentativa de introduzir essa nova forma de notação foi feita por Leonardo de Pisa (1175 a 1250), mais conhecido pelo nome de Fibonacci (que veio de filius Bonaccio, o filho de Bonaccio), um dos melhores matemáticos europeus da Idade Média. Durante o tempo de Fibonacci, Pisa era uma das grandes cidades comerciais da Itália, e por isso entrou em contato com toda a área do Mediterrâneo. O pai de Fibonacci era o chefe de uma das casas de comércio ultramarino, em Bugia, na costa da África Norte. Bugia era um importante centro para mercadores e estudantes da época e Fibonacci foi mandado, quando tinha 12 anos, para se juntar a seu pai, tendo uma chance de ouro para observar os métodos árabes. Certamente obteve parte de sua educação enquanto estava em Bugia, e a lenda diz que ele aprendeu árabe e aritmética por um mercador local. Visitou depois o Egito, Síria, Grécia e França, onde se esforçou para se informar sobre os sistema aritméticos locais. Ele achou todos esses sistemas numéricos tão inferiores aos que os árabes utilizavam que, quando voltou a Pisa, escreveu um livro para explicar o sistema árabe de numerais e cálculo. Esse livro, nomeado de Liber Abaci (O Livro do Ábaco) foi publicado pela primeira vez em 1202, e revisto e ampliado em 1228. Era um tomo muito grande para a época, constituído de 459 páginas divididas em 15 capítulos. Os capítulos 1 a 7 introduziam a notação árabe e as operações fundamentais com números inteiros; os capítulos 8 a 11 tratavam de várias aplicações, enquanto os restantes eram dedicados aos métodos de cálculo envolvendo séries, 32
proporções, raízes quadradas e cúbicas, e uma pequena abordagem sobre geometria e álgebra. Foi em um desses últimos capítulos em que ele introduziu o famoso problema do coelho e as séries de números que agora levam seu nome. O Liber Abaci não foi tão influente quanto deveria ser porque era muito grande, e portanto difícil de copiar em uma época em que não havia imprensa. Também continha material avançado que só poderia ser entendido por estudiosos, tendo sido conhecido apenas por poucas pessoas, nenhuma das quais parecia ter muita influência nos métodos de cálculo usado nas transações diárias. Mas embora os esforços de Fibonacci tivessem pouco sucesso, a idéia dos numerais hindu-arábicos foi gradualmente se expandindo na Europa. As principais fontes de informação foram as várias traduções, algumas parciais, do trabalho de al-Kharazmi. O fato de ser a língua árabe totalmente diferente de qualquer língua européia foi uma grande barreira para a disseminação das idéias científicas árabes. Para aprender o árabe, era geralmente necessário viajar a um país de língua árabe, e isso era uma tarefa difícil, já que alguns árabes não eram simpáticos aos visitantes cristãos (e vice-versa). Esse problema foi parcialmente resolvido em 1085, quando Alphonso VI de Leon recapturou Toledo dos mouros e uma grande população de língua árabe veio à esfera da influência européia. A maioria das primeiras traduções, ou pelo menos as pessoas que ajudaram os tradutores, vieram dessa população. Os dois principais trabalhos que espalharam o conhecimento aritmético hindu-árabe pela Europa foram o Carmen de Algorismo (o Poema do Algorismo) de Alexander De Villa Dei por volta de 1220 e o Algorismus Vulgaris (Algorismos Comuns), de John de Halifax, mais conhecido como Sacrobosco, por volta de 1250 d.C. Esses dois livros foram baseados, pelo menos em parte, nos trabalhos de al-Kharazmi ou de um de seus sucessores. Foram elaborados para uso em universidades européias e não pretendiam ser explicações completas do sistema; preferiram dar simplesmente o básico que o professor pudesse explicar, linha a linha, para seus alunos. O Carmen de Algorismo era particularmente difícil de ser seguido, especialmente na discussão do cálculo de raízes, porque foi escrito em versos hexassílabos. Apesar disso ele ficou muito popular, sendo copiado muitas vezes no latim original e sendo até traduzido em inglês, francês e irlandês. Parte dessa popularidade se deveu ao fato de que Alexander de Villa Dei (? a 1240), que era nativo da Normandia e escrevia e ensinava em Paris, já era famoso por uma gramática de latim, também em versos, que era muito utilizada nas escolas da época. Também o fato de possuir somente 284 linhas o fazia facilmente copiável pelos escribas, e assim, enquanto se produzia uma cópia do Liber Abaci, centenas de cópias do Carmen podiam ser feitas e distribuídas. O mesmo acontecia com o Algorismus Vulgaris, que tinha somente 4.000 linhas. Sacrobosco, que também ensinava em Paris durante a primeira metade do século XIII, era conhecido por seu trabalho em astronomia, e isso sem dúvida contribuiu para o sucesso do Algorismus Vulgaris, que continuou a ser usado como um texto universitário em aritmética até mesmo depois da invenção da imprensa. Edições impressas são conhecidas a partir do fim dos séculos XV e XVI. Uma dos primeiros tradutores do trabalho de Al-Kharazmi foi Adelard de Bath que, por volta do ano 1120, produziu um texto em latim cujas primeiras palavras eram Dixit Algorismi … (assim disse o algorismo…), e que resultou nessa nova ciência que ficou conhecida como algorismo. Esse termo, e as várias corruptelas originadas por autores 33
diferentes, finalmente se espalhou através de todas linguagens européias até o ponto de o processo de fazer aritmética com os numerais hindu-arábicos ser chamado algarismo, e isso nos deu o termo algoritmo que é tão familiar aos estudantes de Ciência da Computação. A conexão do Algorismi com al-Kharazmi perdeu-se e muitos autores inventaram até outras pessoas, como um que citava o ‘Rei Algor’, a quem a origem desses métodos poderia ser atribuída... A troca dos numerais adicionais romanos para o sistema posicional dos hinduárabes foi lenta, durou alguns séculos. Não era fácil para os europeus entenderem o uso do zero que, enquanto representando o nada em si, podia magicamente fazer outros dígitos crescerem dramaticamente em valor. A palavra hindu para o sinal do zero era sunya que, muito apropriadamente, queria dizer vazio ou desocupado. Quando o sistema foi adotado pelos árabes, eles usaram sua própria palavra para desocupado, que é geralmente escrita como sifr no nosso alfabeto. Essa palavra árabe foi simplesmente escrita no alfabeto latino ou como zephirum, de onde veio a nossa palavra zero, ou como cipher, de onde derivou o antigo verbo inglês to cipher, que significava “fazer aritmética”. Parte do mistério com que o novo sistema era considerado pode ser observado pelo fato de que a mesma palavra para a raiz elevou termos que eram envolvidos em mágica e escrita secreta, como calcular ou decifrar um texto em código. Esse ar de mistério foi realçado pela atitude de algumas pessoas que, depois que conheciam o algarismo, acharam que isso era um conhecimento para ser mantido entre um grupo secreto, e não para ser explicado para pessoas comuns. Essa atitude é ilustrada em várias figuras do fim da Idade Média, uma das quais mostra duas pessoas fazendo aritmética, uma usando os métodos antigos do ábaco enquanto o outro, escondendo seu trabalho do primeiro, estava usando o novo algarismo. Por volta de 1375 o uso dos numerais hindu-arábicos firmou-se na Europa. Eles começaram a aparecer em muitos documentos diferentes, embora ainda existisse uma grande resistência para a adoção dos novos números. Em 1229, a cidade de Florença proclamou uma lei que proibia o uso dos numerais hindu-arábicos, pois eram fáceis de serem alterados ou forjados (por exemplo, transformar um 0 em um 6 ou 9 deveria ser bastante fácil). Os mercadores desenvolveram vários truques para prevenir esse tipo de coisa com os numerais romanos; por exemplo, XII era escrito como Xij, então um i extra não poderia ser adicionado ao fim sem gerar suspeitas e, fazendo o primeiro caracter maiúsculo, eles evitavam que qualquer um colocasse caracteres à esquerda do número. Passaria apenas pouco tempo para que se desenvolvessem dispositivos semelhantes para os novos numerais, mas ainda por volta de 1594 os mercantes da Antuérpia eram alertados para que não os usassem em contratos ou em ordens de pagamento bancárias. Os italianos rapidamente viram a utilidade do novo sistema para propósitos mercantis e influenciaram toda a Europa para a adoção do sistema de valor posicional. Algarismos já eram bem difundidos por volta de 1400, mas os mercadores mais conservadores continuaram utilizando os numerais romanos até por volta de 1550, e muitos monastérios e faculdades os usaram até o meio do século XVII. Até mesmo por volta de 1681 encontram-se evidências de que o novo sistema ainda não tinha sido completamente compreendido. Um livro publicado naquele ano teve seus capítulos numerados como: 1, 2, 3, 4, 5, 6, 7, 8, 9, X, X1, X2, X3, X4 … XXX, XXX1, 302, 303… XXXX, 401, 402,… 34
Essa permanência dos métodos antigos de notação foi causado não por falta de conhecimento sobre o novo, mas pelo medo de que, sem um entendimento completo do sistema, alguma coisa poderia dar errado. Esse tipo de medo é visto de vez em quando até hoje, mas dois exemplos do século XVII podem ajudar a ilustrar o fenômeno. Willian Oughtred, que se encontrará mais a frente neste livro ao se falar da régua de cálculo, preferia calcular ab + ac a calcular a(b+c) por causa do medo de que algum tipo de erro poderia acontecer em um sistema abreviado. Muitas formas diferentes de numerais foram usadas na Europa, alguma das quais não seriam reconhecidas da maneira que elas são agora. As versões manuscritas dos antigos trabalhos são particularmente difíceis de se ler porque o autor e o copista usaram as formas de numerais com que eles eram mais familiarizados. Livros produzidos em regiões próximas, ou separados por poucos anos, usaram caracteres diferentes para pelo menos alguns dos numerais. Foi a invenção da imprensa que os padronizou na forma em que nós os conhecemos agora, embora até hoje as formas do 5 e do 7 variem ligeiramente entre europeus e americanos. É interessante notar que, apesar do fato de que os europeus obtiveram o sistema dos árabes, as duas culturas utilizam formas de numerais notavelmente diferentes hoje. O turista europeu tem constantemente problemas com o fato de que o círculo é usado nos países árabes como símbolo para o dígito cinco e algo parecido com um ponto é usado para o símbolo do zero. 4.1.2
Desenvolvimentos iniciais da ciência do cálculo
Pode-se dizer que os primeiros passos em direção aos computadores digitais foram dados nas antigas civilizações da China, do Egito e da Babilônia, há mais de quatro milênios, com os sistemas de medidas de distâncias, previsão do curso das estrelas e tabelas gravadas em tábuas de barro usadas para ajudar cálculos algébricos. Durante a civilização grega algumas destas pré-ciências tomaram forma através dos sistemas axiomáticos *. Enquanto isso, é geralmente aceito que a Álgebra desenvolveu-se em cada civilização passando por sucessivas etapas, denominadas retórica, sincopada e simbólica †. Um museu em Oxford possui um cetro egípcio de mais de 5.000 anos, sobre o qual aparecem registros de 120.000 prisioneiros e 1.422.000 cabras capturadas [Boy74]. Apesar do exagero dos números, fica claro que os egípcios procuravam ser precisos no contar e no medir, bastando lembrar o alto grau de precisão das pirâmides. Medir as terras para fixar os limites das propriedades era uma tarefa importante nas civilizações antigas, especialmente no Egito. Ali, as enchentes anuais do Nilo, inundando as áreas férteis, derrubavam os marcos fixados no ano anterior, obrigando os proprietários de terras a refazer os limites de suas área de cultivo. Em algumas ocasiões, a questão era refazer os limites com base em informações parciais; conhecida a forma do terreno, tratava-se por exemplo de reconstruir os lados *
Em um sistema axiomático parte-se de premissas aceitas como verdadeiras e de regras ditas válidas, que irão conduzir a sentenças verdadeiras. As conclusões podem ser alcançadas manipulando-se símbolos de acordo com conjuntos de regras. A Geometria de Euclides é um clássico exemplo de um procedimento tornado possível por um sistema axiomático.
†
“A álgebra retórica é caracterizada pela completa ausência de qualquer símbolo, exceto, naturalmente, que as próprias palavras estão sendo usadas no seu sentido simbólico. Nos dias de hoje esta álgebra retórica é usada em sentenças do tipo ‘a soma é independente da ordem dos termos’, que em símbolos seria designada por ‘a+b = b+a’ ”[Dan54]. A sincopada é a notação intermediária que antecedeu a simbólica, caracterizada pelo uso de abreviações que foram sendo contraídas até se tornarem um símbolo [idem].
35
restantes se um deles se havia preservado. Em outras ocasiões, destruídas por completo as fronteiras, tratava-se de refazê-las, de modo a remarcar o desejado número de propriedades, conservando as áreas relativas que possuíam no passado. Os egípcios tornaram-se hábeis delimitadores de terra e devem ter descoberto e utilizado inúmeros princípios úteis, relativos às características de linhas, ângulos e figuras − como por exemplo, o de que a soma de três ângulos de um triângulo é igual a dois ângulos retos, e o de que a área de um paralelogramo é igual à do retângulo que possua a mesma base e a mesma altura. Provavelmente os egípcios obtiveram esses princípios por intermédio de raciocínios indutivos, fruto da observação e experimentação: mediam muitos triângulos e ângulos retos, áreas de muitos paralelogramos e retângulos, e parece que tais conhecimentos limitaram-se a habilitar os egípcios a resolver problemas de traçados de limites, de comparação de áreas, de projetos arquitetônicos e de engenharia de construções. No Egito antigo e na Babilônia existiam calculadores profissionais chamados escribas pelos egípcios e logísticos pelos gregos. As primeiras tentativas de invenção de dispositivos mecânicos para ajudar a fazer cálculos datam dessas épocas, como, por exemplo, o ábaco e o mecanismo Antikythera, sobre os quais se falará mais detidamente no capítulo da Pré-História Tecnológica. Os gregos assimilaram os princípios empíricos dos egípcios e deram, a esse delimitado conhecimento, o nome de Geometria, isto é, medida da terra. Mas diferentemente daqueles, estudaram a Geometria mais sob seu aspecto teórico, desejando compreender o assunto por ele mesmo, independentemente de sua utilidade. Procuraram encontrar demonstrações dedutivas rigorosas das leis acerca do espaço e mostraram um crescente interesse pelos princípios geométricos. Pitágoras considerava que, em sua forma pura, a geometria se aproximava bastante da religião e para ele era o arché, o princípio de tudo, buscado tão intensamente pelos filósofos cosmológicos[Bar67]. Com a obra Elementos, de Euclides, reúnem-se e são apresentados de modo sistemático as principais descobertas geométricas de seus precursores, sendo considerado, até o século XIX, não somente o livrotexto da Geometria, mas o modelo daquilo que o pensamento científico deveria ser. Resumindo, deve-se ver nestes tempos as tentativas de conceituação do número, o estabelecimento das bases numéricas, o estudo da Álgebra e da geometria e a busca de uma sistematização do raciocínio, que tanto atraíram os antigos. Tempos de evolução lenta e, em termos de produção efetiva de conhecimento matemático, bem abaixo da quantidade e qualidade produzida quase que exponencialmente a partir do século XV d.C., mas não menos importantes. De fato, para se compreender a História da Matemática na Europa é necessário conhecer sua história na Mesopotâmia e no Egito, na Grécia antiga e na civilização islâmica dos séculos IX a XV. 4.1.3
A Lógica de Aristóteles
Aristóteles (384 a.C. - 322 a.C.) é um filósofo ‘atual’: a ‘questão aristotélica’, isto é, o que Aristóteles realmente escreveu , o que se deve a ele ou antes, a seus discípulos, é algo complexo, onde não há acordo definitivo, e provavelmente segundo alguns nunca haverá, sendo uma questão sobre a qual se continua escrevendo. Aristóteles passou quase vinte anos na Academia platônica e educou Alexandre Magno (se Platão estivesse vivo teria visto a 36
realização de seu maior sonho, o de que os governantes filosofassem). Preocupava-o, como a todos os gregos, a vida política, a cidade, porém o que mais o interessava era o saber. E foi sábio em quase todos os domínios: ciências naturais, lógica, física, poética, astronomia, ética, política, retórica, psicologia, entre outras. Mestre de lógica para centenas de gerações, aplicouse, sobretudo, em assentar as bases da “ciência que buscamos”, a “filosofia primeira”, o que depois chamou-se Metafísica. Interessa neste estudo sobretudo a lógica aristotélica e o seu método axiomático. A Lógica foi considerada na tradição clássica e medieval como instrumento indispensável ao pensamento científico. Atualmente é parte importante na metodologia dedutiva das ciências, além de constituir-se como um saber próprio, com ligação a relevantes problemas teóricos. Da Lógica Científica nasceu a Lógica Matemática e, dentro desta, várias filosofias da lógica que interpretam os cálculos simbólicos e sua sistematização axiomática. Para a História da Computação interessa abordar em particular a questão do pensamento dedutivo e matemático, seus limites, o problema da relativa mecanização do pensamento quantitativo e o problema da Inteligência Artificial. Da discussão e busca da solução desses problemas, que entram também no campo filosófico, formou-se a base conceitual, teoria da computabilidade, necessária para o advento do computadores. O início da ciência da Lógica encontra-se na antiga Grécia [Kne68] [Boc66]. As polêmicas geradas pela teoria de Parmênides e os famosos argumentos de Zenão *, que negavam a realidade do movimento fazendo um uso indevido do princípio da nãocontradição, contribuíram para a distinção dos conceitos, para se ver a necessidade de argumentar com clareza, mediante demonstrações rigorosas, e assim responder às objeções dos adversários. Mais tarde, as sutilezas dos sofistas, que reduziam todo o saber à arte de convencer pelas palavras, levaram Sócrates a defender o valor dos conceitos e tentar defini-los com precisão. Assim a Lógica como ciência vai se formando pouco a pouco, principalmente com Sócrates e Platão. Mas Platão pensava que qualquer conteúdo da mente existia tal qual na realidade e Aristóteles reage ao seu mestre, dizendo que as idéias existem somente na mente humana, mas correspondendo a realidades. Com Aristóteles é que se dá o verdadeiro nascimento da Lógica como ciência das idéias e dos processos da mente. “Até hoje não existe forma alguma concebível de lógica, por muito distinta que seja da lógica formal, que não tenha algum tipo de conexão com a obra aristotélica” [Sch31]. Ele foi o primeiro lógico formal da história, tendo desenvolvido ao menos duas formas distintas de lógica formal, elaborando algumas de suas partes de maneira praticamente completa e deixando esboçados outros tipos de lógicas que somente na época atual foram novamente tratadas †.
*
Parmênides (540 a 470 a.C.) negava a existência do movimento (“devir”) e afirmava a existência de um único ser (panteísmo), tendo enunciado o princípio da não contradição: ‘algo não pode ser e não ser ao mesmo tempo, sob o mesmo aspecto e no mesmo sujeito’. Seu discípulo Zenão (490 a 430 a.C.) foi o fundador da dialética e radicalizou a negação do movimento. Este envolveria um paradoxo: para mudar completamente é preciso antes mudar parcialmente, e assim infinitamente, o que levaria a concluir que o movimento não existe (paradoxos de Aquiles e a tartaruga e os pontos de percurso de uma flecha)
†
Além do mais interessa o estudo das obras do Filósofo pois tem um especial valor pedagógico, ao apresentar de maneira unitária a maior parte dos problemas lógicos, contemplados com o vigor característico que acompanha uma ciência emergente, e mais acessível ao principiante que muitas apresentações modernas de lógica formal.
37
Aristóteles escreveu uma série de trabalhos que seriam editados por Andrônico de Rodes no século I d.C. e que receberam posteriormente o nome de Organon (“Instrumento”), de acordo com a concepção segundo a qual a Lógica deveria fornecer os instrumentos mentais necessários para enfrentar qualquer tipo de investigação. Essa obra compreende os seguintes livros: Categorias, Analíticos I, Analíticos II, o Peri Hermeneias (ou sobre a interpretação), Tópicos e Refutação de argumentos sofistas. A grande novidade aristotélica está nos Analíticos, com o silogismo. Aristóteles chamava a Lógica com o termo “analítica” (e justamente “Analíticos” são intitulados os escritos fundamentais do Organon). A analítica (do grego analysis, que significa “resolução”) explica o método pelo qual, partindo de uma dada conclusão, resolve-se precisamente nos elementos dos quais deriva, isto é, nas premissas e nos elementos de que brota, e assim fica fundamentada e justificada. Aristóteles construiu uma sofisticada teoria dos argumentos, cujo núcleo é a caracterização e análise dos chamados silogismos, os típicos raciocínios da lógica aristotélica. O argumento Todo homem é mortal Sócrates é homem Logo Sócrates é mortal é o exemplo típico do silogismo perfeito. Conforme o próprio Aristóteles, “o silogismo é um discurso no qual, sendo admitidas algumas coisas, outra coisa distinta resulta necessariamente dessas coisas afirmadas primeiro, pelo único fato de que essas existem” [Per88].
Figura 4: Aristóteles
Nos Primeiros Analíticos, Aristóteles desenvolveu minuciosamente o sistema dos silogismos, mostrando os princípios maiores que o sustentam e as regras que lhe devem
38
moldar a construção. A análise do Filósofo é tão ampla quanto engenhosa e envolve também as assim chamadas “modalidades” e os silogismos modais *. Entre as características mais importantes da silogística aristotélica está a de se ter pensado pela primeira vez na história da lógica em fazer uso de letras que poderiam ser usadas para representar uma expressão substantiva qualquer, fundamental para o desenvolvimento do simbolismo lógico. É também com Aristóteles que se encontra uma das primeiras tentativas de se estabelecer um rigor nas demonstrações matemáticas. Ao definir os dois tipos de demonstração, quia (dos efeitos às causas) e propter quid (das causas aos efeitos), dizia (I Anal. Post., lect. 14) que as matemáticas utilizam preferencialmente esse modo de demonstrar, e por isso esta ciência é essencialmente dedutiva: “algumas vezes o mais conhecido por nós em si mesmo e por natureza é também o mais cognoscível em si mesmo e por natureza. Assim acontece nas matemáticas, nas quais, devido à abstração da matéria, não se efetuam demonstrações mais do que a partir dos princípios formais. E assim as demonstrações procedem desde o mais cognoscível em si mesmo”. No entanto, para que haja demonstração, os primeiros princípios devem ser indemonstráveis, já que, do contrário, se procederia a uma regressão ao infinito. E como se conhece a verdade dos primeiros princípios? Por indução. “À força de contemplar a freqüência dos acontecimentos, buscando o universal”. Os primeiros princípios não são inatos; são adquiridos na experiência, analisando-se as percepções que contém um elemento universal. No entanto esta ‘indução’ citada por Aristóteles nada tem a ver com ‘demonstração por indução completa’ ou o ‘método da indução finita’ ou, mais ainda, ‘raciocínio por recorrência’, estabelecido pelo matemático italiano Giuseppe Peano. Sobre esta temática ver anexo sobre Dedução e Indução na Matemática. E no meio de tudo isso emergiu aquela que é considerada uma das mais definitivas contribuições do Organon: o método axiomático, que recebeu precisamente no século XX sua maior valoração, ao apresentar-se como o caminho universal dentro do qual se enquadram todas as ciências dedutivas. Um pouco mais sobre este assunto é exposto no anexo O método axiomático e as ciências dedutivas. 4.1.4
A contribuição dos megáricos e estóicos
Embora Aristóteles seja o mais brilhante e influente filósofo grego, outra importante tradição argumentativa formou-se na antiga Grécia, com os megáricos e estóicos. Pouco conservada pela tradição, merece um melhor tratamento dos historiadores, porque o que deles se conhece sugere que esses gregos eram altamente inteligentes. Os megáricos (em função de sua cidade, Mégara) interessaram-se por certos enigmas lógicos como o conhecido “paradoxo do mentiroso”: quem diz “O que eu afirmo agora é falso”, enuncia algo verdadeiro ou falso? Um deles, Diodoro Cronus, que morreu por volta de 307 a.C., formulou interessante concepção modal, relacionando possibilidade, tempo e verdade, enquanto outro megárico, de nome Fílon, estudou proposições do tipo “Se chove então a rua está molhada”, construída com o auxílio das expressões “se..., então...” conhecidas *
Modalidades são as expressões do tipo “é possível que...”, “é necessário que...”.
39
como condicionais. Ele as definiu em termos extremamente polêmicos, mas que seriam assumidos como corretos, vinte e três séculos mais tarde pelos fundadores da Lógica Contemporânea. Os estóicos (da chamada escola filosófica de “Stoa”, que quer dizer “pórtico”) desenvolveram também notáveis teorias lógicas. Tinham bastante presente a diferença que há entre um código de comunicação específico, de um lado, e o que se pode expressar através do uso de tal código. Assim sendo, um conceito de “proposição” análogo ao usado na atual Lógica, já estava presente, de modo virtual, na filosofia estóica da linguagem. Porém a mais notável contribuição estóica à Lógica foi obra de Crísipo de Soles (280-206 a.C.), homem de vasta produção poligráfica (750 livros). Ele estudou as sentenças condicionais e também as disjuntivas (regidas pela partícula “ou”) e as copulativas (regidas pelo “e”), tendo também reconhecido claramente o papel lógico desempenhado pela negação. Além disto, Crísipo foi capaz de relacionar tais idéias com as modalidades, elaborando, então, um sistema de princípios lógicos que, no seu campo específico, foi muito além dos poucos resultados obtidos por Aristóteles e seu discípulo Teofrasto. Por tal razão, Crísipo é reconhecido como o grande precursor daquilo que hoje se chama “Cálculo Proposicional”, o primeiro capítulo da Lógica desenvolvida a partir do último quarto do século XIX [Bri79b].
4.1.5
Euclides e o Método Axiomático
Figura 5: Representação de Euclides
40
Com sua obra Elementos, o matemático grego Euclides (330 a.C. - 277 a.C.) deu uma forma sistemática ao saber geométrico, implementando as idéias sobre axiomatização, de Aristóteles, para uma ciência exata. No primeiro livro dos Elementos, ele enuncia vinte e três definições, cinco postulados e algumas noções comuns ou axiomas *. Em seguida ele deduz proposições ou teoremas, os quais constituem o saber geométrico, como por exemplo: “se em um triângulo dois ângulos são iguais entre si, também os lados opostos a esses ângulos são iguais entre si”. Postulados, axiomas e definições constituem os pontos de partida para as demonstrações de Euclides. Seu objetivo é mostrar todos os outros princípios geométricos − primeiro os da Geometria Plana e depois os da Geometria Espacial −, revelando que são decorrências necessárias dos princípios fundamentais. Quais são os traços característicos das técnicas adotadas por Euclides? Em primeiro lugar ele enuncia as sua leis em forma universal: não se detém em determinada figura ou linha, mas examina as propriedade que todas as figuras e todas as linhas de tal ou qual tipo devem ter. Formula tais leis de maneira rigorosa e absoluta e, mais ainda, demonstra-as. Seu livro, na verdade, consiste em demonstrações colocadas de maneira sistemática, não indutiva, mas dedutiva, por meio das quais procura estabelecer as suas conclusões com o rigor da lógica. Euclides visava aperfeiçoar o conhecimento acerca de pontos, linhas e figuras, tornando mais rigorosas as demonstrações de leis já conhecidas, e procurava aumentar esse conhecimento, demonstrando leis novas, até então desconhecidas. Mas talvez não se esgotasse aí a motivação − ou pelo menos as conseqüências − do que elaborou o geômetra. A colocação de axiomas e teoremas em forma dedutiva deu à Geometria uma apresentação mais elegante e transparente, tornando facilmente perceptíveis as interessantes conexões lógicas ali introduzidas. A axiomatização do saber Geométrico abriu um sem fim de perspectivas para os estudiosos das ciências exatas, que adotam as exposições axiomáticas − e buscam axiomatizações mais elegantes e econômicas − não só para dar rigor às suas demonstrações, mas descobrir novas conexões lógicas. Esse é portanto o modo como Euclides ordena o conhecimento geométrico no chamado sistema euclidiano. Durante séculos esse sistema valeu como modelo insuperável do saber dedutivo: os termos da teoria são introduzidos depois de terem sido definidos e as proposições não são aceitas se não forem demonstradas. Euclides escolhia as proposições primitivas, base da cadeia sobre a qual se desenvolvem as deduções sucessivas, de tal modo que ninguém pudesse levantar dúvidas sobre a sua veracidade: eram auto-evidentes, portanto isentas de demonstração. Leibniz afirmaria mais tarde que os gregos raciocinavam com toda a exatidão possível em matemática e deixaram à humanidade modelos de arte demonstrativa ([RA91], volume III). Em resumo, Euclides, como já fizera Aristóteles, buscou o ideal de uma organização axiomática, que em última instância se reduz à escolha de um pequeno número de proposições em princípio aceitas naquele domínio do conhecimento, e à posterior dedução de todas as outras proposições verdadeiras desse domínio, a partir delas. Surge com Euclides e *
As definições pretendem substancialmente explicitar os conceitos da geometria (“ponto é aquilo que não tem partes”; “linha é comprimento sem largura”, etc.). Os postulados representam verdades indubitáveis típicas do saber geométrico (“pode-se levar uma reta de qualquer ponto a qualquer ponto”; “todos os ângulos retos são iguais”; etc.). Os axiomas são verdades que valem universalmente, não só na geometria (“o todo é maior que a parte”; “coisas que são iguais a uma mesma coisa são iguais entre si”, etc.).
41
Aristóteles (estará plenamente desenvolvida no início do século XX com a escola formalista de Hilbert) a busca de uma economia do pensamento (um bom texto sobre o assunto pode ser encontrado em [Wil65]). A História da Computação tem um marco significativo nesse ponto da História: o começo da busca da automatização do raciocínio e do cálculo. Mas havia um problema no sistema de Euclides: suas “evidências” não eram assim tão evidentes. O seu quinto postulado não convenceu de modo algum, e despertou perplexidade na história do próprio pensamento grego, depois no árabe e no renascentista. No século XIX, Karl Friedrich Gauss (1777-1855) viu com toda a clareza a não demonstrabilidade do quinto postulado e a possibilidade da construção de sistemas geométricos não euclidianos. Janos Boulay (1802-1860), húngaro, e Nicolai Ivanovic Lobacewskiy (1793-1856), russo, trabalhando independentemente, elaboraram uma geometria na qual o postulado da paralela não vale mais. A conseqüência desses fatos foi a eliminação dos poderes da intuição na fundamentação e elaboração de uma teoria geométrica: os axiomas não são mais “verdades evidentes” que garantem a “fundação” do sistema geométrico, mas puros e simples pontos de partida, escolhidos convencionalmente para realizar uma construção dedutiva. Mas, se os axiomas são puros pontos de partida, quem garantirá que, continuando-se a deduzir teoremas, não se cairá em contradição? Esta questão crucial dos fundamentos da matemática levará aos grandes estudos dos finais do século XIX e inícios do XX e será o ponto de partida do projeto formalista de David Hilbert, assim como de outras tentativas de se fundamentar a matemática na lógica e na teoria dos conjuntos, como as propostas por Frege, Russell e Cantor. E será dessa seqüência de sucessos e fracassos que se produzirá a base da Computação, com Turing, von Neumann, Post, Church, e outros mais. 4.1.6
Diophantus, al-Kharazmi e o desenvolvimento da Álgebra
O seguinte problema no Rhind Papyrus *, do Museu britânico em Londres, foi escrito por volta do ano 1650 a.C.: Divida 100 pães entre 10 homens, incluindo um barqueiro, um capataz e um vigia, os quais recebem uma dupla porção cada. Quanto cabe a cada um? [Bow94] Isto naturalmente pode ser resolvido usando-se Álgebra. O primeiro tratado de Álgebra foi escrito pelo grego Diophantus (200 - 284), da cidade de Alexandria, por volta do ano 250. O seu Arithmetica, composto originalmente por 13 livros dos quais somente 6 se preservaram, era um tratado “caracterizado por um alto grau de habilidade matemática e de engenho: quanto a isto, o livro pode ser comparado aos grandes clássicos da idade alexandrina anterior” [Boy74]. Antes de Diophantus, toda a *
Juntamente com o papiro de Moscou é uma das principais fontes de informação relativa às formas de notação e operações aritméticas em uso durante a primeira época da civilização egípcia
42
‘álgebra’ que havia, incluindo problemas, operações, lógica e solução, era expressada sem simbolismo − palavra chave sobre a qual ainda se voltará a falar −; ele foi o primeiro a introduzir o simbolismo na matemática grega. Para uma quantidade desconhecida usava um símbolo (chamado arithmos), que caracterizava um número indefinido de unidades. Pela ênfase dada em seu tratado à solução de problemas indeterminados, tal tratado tornou-se conhecido como análise diofantina, que em geral faz parte da disciplina de Teoria dos Números *. Seu trabalho, contudo, não é suficiente para lhe conferir o título de pai da Álgebra †. Mas é com os persas e principalmente com os árabes que a Álgebra poderá ser efetivamente chamada de ciência. É interessante notar que ao se falar que a Geometria é uma ciência grega ou que a Álgebra é uma ciência árabe, está se afirmando algo mais do que a “casualidade” de terem sido gregos ou árabes seus fundadores ou promotores. Ordinariamente tendemos a pensar que o conhecimento científico independe de latitudes e culturas: uma fórmula química ou um teorema de Geometria são os mesmos em inglês ou português ou chinês e, sendo a comunicação, à primeira vista, o único problema, bastaria uma boa tradução dos termos próprios de cada disciplina. Mas não é assim. Na verdade a evolução da ciência está repleta de interferências histórico-culturais, condicionando metodologias, o surgimento de novas áreas do saber, e assim por diante. Os juristas árabes referem-se à Álgebra como “o cálculo da herança”, segundo a lei corânica, uma problemática importante dentro do Islam, e aí já temos um exemplo de condicionamento histórico-cultural. Não foi por mero acaso que a Álgebra surgiu no califado abássida (“ao contrário dos Omíadas, os Abássidas pretendem aplicar rigorosamente a lei religiosa à vida cotidiana” [AG81]), no seio da “Casa da Sabedoria” (Bayt al-Hikma) de Bagdá, promovida pelo califa Al-Ma’amun; uma ciência nascida em língua árabe e antagônica da ciência grega. Embora hoje a Álgebra possa parecer objetiva e axiomática, com uma sintaxe de estruturas operatórias e destituída de qualquer alcance semântico, ela é o resultado da evolução da velha al’jabr, “forjada por um contexto cultural em que não são alheios elementos que vão desde as estruturas gramaticais do árabe à teologia muçulmana da época” [Lau97]. Muhammad Ibn Musa Al-Khwarizmi (780 - 850), matemático e astrônomo persa, foi membro da “Casa da Sabedoria”, a importante academia científica de Bagdá, que alcançou seu resplendor com Al-Ma’amun (califa de 813 a 833). A ele, Al-Khwarizmi dedicou seu AlKitab al-muhtasar fy hisab al-jabr wa al-muqabalah (“Livro breve para o cálculo da jabr e da muqabalah”). Al-jabr, que significa força que obriga, restabelecer ‡, precisamente porque a Álgebra é “forçar cada termo a ocupar seu devido lugar”. Já no começo do seu Kitab, Al-Khwarizmi distingue seis formas de equação, às quais toda equação pode ser reduzida (e, canonicamente resolvida). Na notação atual: *
Neste sentido foi o matemático grego que maior influência teve sobre a moderna teoria dos números. Em particular Fermat foi levado ao seu ‘último’ teorema quando procurou generalizar um problema que tinha lido na Arithmetica de Diophantus: dividir um dado quadrado em dois quadrados (ver F.E. Robbins, P.Mich. 620: A Series of Arithmetical Problems, Classical Philology, pg 321-329, EUA, 1929).
†
Apenas sob certo aspecto isto se justificaria. Em uma visão um tanto arbitrária e simplista poderíamos dividir o desenvolvimento da álgebra em 3 estádios: (1) primitivo, onde tudo é escrito em palavras; (2) intermediário, em que são adotadas algumas simplificações; (3) simbólico ou final. Neste contexto, Arithmetica deve ser colocada na segunda categoria.
‡
Restabelecer, por algo no seu devido lugar, restabelecer uma normalidade. Como observa [Lau97] a palavra tajbir significa ortopedia e jibarath significa redução, no sentido médico (por o osso no devido lugar) e na Espanha, no tempo em que os barbeiros acumulavam funções, podia-se ver a placa “Algebrista e Sangrador” em barbearias.
43
1. ax2 = bx 2. ax2 = c 3. ax = c 4. ax2 + bx = c 5. ax2 + x = ax2 6. bx + c = ax2 Al-jabr é a operação que soma um mesmo fator (afetado do sinal +) a ambos os membros de uma equação, para eliminar um fator afetado pelo sinal -. Já a operação que elimina termos iguais de ambos os lados da equação é al-muqabalah que significa estar de frente, cara a cara, confrontar. Por exemplo: em um problema onde os dados podem ser colocados sob a forma 2x2 + 100 – 20x = 58, Al-Khwarizmi procede do seguinte modo: 2x2 + 100 = 58 + 20x (por al-jabr) Divide por 2 e reduz os termos semelhantes: x2 + 21 = 10 x (por al-muqabalah) E o problema já está canonicamente equacionado.
Figura 6: Representação de Al-Kharazmi
Al-Kharazmi introduziu a escrita dos cálculos no lugar do uso do ábaco. De seu nome derivaram as palavras, como já citado acima na história do desenvolvimento do conceito de número, algarismo e algoritmo *[Kar61]. Embora não muito visível ainda, deve-se chamar a atenção para essa disciplina da Álgebra, que deve ser colocada entre as ciências que fundamentaram o desenvolvimento da *
A palavra algoritmo na matemática designa um procedimento geral de cálculo, que se desenvolve, por assim dizer, automaticamente, poupando-nos esforço mental durante o seu curso; este termo será depurado e aproveitado dentro da Computação. Dele se tornará a falar mais à frente
44
Computação. Pois o computador e todos os instrumentos que o precederam (réguas de cálculo, máquina de Pascal, a calculadora de Leibniz, a máquina analítica de Babbage, etc.) são somente as manifestações práticas que foram surgindo, com naturalidade, em resultado da busca pelo homem de reduzir os problemas a expressões matemáticas, resolvendo-as segundo regras. E isto, há muitos séculos, já tinha tomado o nome de Álgebra, a “arte dos raciocínios perfeitos” como dizia Bhaskara, o conhecido matemático hindu do século XII. Com os árabes, depois de relativo obscurecimento da cultura grega, dá-se continuidade ao processo que proporcionará as bases fundamentais para o raciocínio automatizado, fundamental na Ciência da Computação. 4.1.7
A automatização do raciocínio
Ainda dentro do período acima estabelecido (4.200 a.C. até meados do ano 1600 d.C) iniciou-se concretização de uma antiga meta: a idéia de se reduzir todo raciocínio a um processo mecânico, baseado em algum tipo de cálculo formal. Isto remonta a Raimundo Lúlio. Embora negligenciado pela ciência moderna, Raimundo Lúlio (1235 - 1316), espanhol, figura pletórica de seu tempo, em seu trabalho Ars Magna (1305 - 1308), apresentou a primeira tentativa de um procedimento mecânico para produzir sentenças logicamente corretas [Her69]. Lúlio acreditava que tinha encontrado um método que permitia, entre outras coisas, tirar todo tipo de conclusões, mediante um sistema de anéis circulares dispostos concentricamente, de diferentes tamanhos e graduáveis entre si, com letras em suas bordas. Invenção única, tentará cobrir e gerar, representando com letras − que seriam categorias do conhecimento −, todo o saber humano, sistematizado em uma gramática lógica.
Figura 7: Desenho de Raimundo Lúlio
Conforme Hegel: “A tendência fundamental da ‘arte’ de Raimundo Lúlio consistia em enumerar e ordenar todas as determinações conceituais a que era possível reduzir todos os objetos, as categorias puras com referência às quais podiam ser determinados, para, desse 45
modo, poder assinalar facilmente, com respeito a cada objeto, os conceitos a ele aplicáveis. Raimundo Lúlio é, pois, um pensador sistemático, ainda que ao mesmo tempo mecânico. Deixou traçada uma tabela em círculos nos quais se acham inscritos triângulos cortados por outros círculos. Dentro desses círculos, ordenava as determinações conceituais, com pretensões exaustivas; uma parte dos círculos é imóvel, a outra tem movimento. Vemos, com efeito, seis círculos, dois dos quais indicam os sujeitos, três os predicados e o sexto as possíveis perguntas. Dedica nove determinações a classe, designando-as com as nove letras B C D E F G H I K. Obtém, desse modo, nove predicados absolutos, que aparecem escritos ao redor de seu quadro: a bondade, a magnitude, a duração, o poder, a sabedoria, a vontade, a virtude, a verdade, a magnificência; em seguida, vêm nove predicados relativos: a diferença, a unanimidade, a contraposição, o princípio, a metade, o fim, o ser maior, o ser igual e o ser menor; em terceiro lugar, temos as perguntas: sim?, quê?, de onde?, por quê?, quão grande?, de que qualidade?, quando?, de onde?, como e com quê?, a última das quais encerra duas determinações; em quarto lugar, aparecem nove substâncias (esse), a saber: Deus (divinum), os anjos (angelicum), o céu (coeleste), o homem (humanum), Imaginativum, Sensitivum, Vegetativum, Elementativum; em quinto lugar, nove acidentes, quer dizer, nove critérios naturais: a quantidade, a qualidade, a relação, a atividade, a paixão, o ter, a situação, o tempo e o lugar; por último, nove critérios morais, que são as virtudes: a justiça, a prudência, a valentia, a temperança, a fé, a esperança, o amor, a paciência e a piedade, e nove vícios: a inveja, a cólera, a inconstância, a avareza, a mentira, a gula, a devassidão, o orgulho e a preguiça (acedia). Todos esses círculos tinham de ser colocados necessariamente de determinado modo para poder dar como resultado as combinações desejadas. Conforme as regras de colocação, segundo as quais todas as substâncias recebem os predicados absolutos e relativos adequados a estes, deviam ser esgotados a ciência geral, a verdade e o conhecimento de todos os objetos concretos.” [Roc81]. Os procedimentos estabelecidos por Lúlio não foram muito válidos. Mas o mais importante em Lúlio é a idéia concebida, genial sob certo aspecto. Tanto que seu trabalho influenciará muitos matemáticos famosos, do nível de um Cardano (século XVI), Descartes (século XVII), Leibniz (séculos XVII/XVIII), Cantor (séculos XIX/XX), entre outros. Raimundo Lúlio é considerado o precursor da análise combinatória. Como dirá R. Blanché: “encontramos em Lúlio, pelos menos em germe e por mais que ele não soubesse tirar partido disso por inabilidade, duas idéias que iriam se tornar predominantes nas obras de Lógica, primeiro em Leibniz e depois em nossos contemporâneos: as idéias de característica e de cálculo (...). Com a ajuda desse simbolismo, tais autores pretendem permitir que as operações mentais, freqüentemente incertas, fossem substituídas pela segurança de operações quase mecânicas, propostas de uma vez por todas” ([RA91], volume III). Pode-se ver em Raimundo Lúlio os primórdios do desenvolvimento da Lógica Matemática, isto é, de um novo tratamento da ciência da Lógica: o procurar dar-lhe uma forma matemática. O interesse deste trabalho é caracterizar a Lógica Matemática, sem aprofundar nas discussões filosóficas − ainda em aberto − sobre os conceitos “lógica matemática” e “lógica simbólica”, se é uma lógica distinta da ciência matemática ou não, pois sem dúvida alguma a Computação emergirá dentro de um contexto da evolução deste novo tratamento da lógica. 46
A Lógica Matemática ergue-se a partir de duas idéias metodológicas essencialmente diferentes. Por um lado é um cálculo, daí sua conexão com a matemática. Por outro lado, caracteriza-se também pela idéia de uma demonstração exata e, nesse sentido, não é uma imitação da matemática nem esta lhe serve de modelo, mas pelo contrário, à Lógica caberá investigar os fundamentos da matemática com métodos precisos e oferecer-lhe o instrumento para uma demonstração rigorosa. A palavra Álgebra voltará a aparecer com o inglês Robert Recorde(1510?-1558), em sua obra Pathway of Knowledge(1551), que introduz o sinal de ‘=’ e divulga os símbolos ‘+’ e ‘−‘, introduzidos por John Widmann (Arithmetica, Leipzig, 1489). Thomas Harriot(1560-1621) prosseguirá o trabalho de Recorde, inventando os sinais ‘>’ e ‘