Published on

Computadores não são só calculadoras mais rápidas

Authors
Ilustração de capa do post Computadores não são só calculadoras mais rápidas

A diferença decisiva entre uma calculadora poderosa e um computador não está no tamanho, na eletrônica ou na velocidade. Está na capacidade de tratar programa e dados dentro do mesmo espaço manipulável, permitindo que uma máquina simule outras máquinas. Fábio Akita organiza sua explicação a partir de Alan Turing e John von Neumann para defender uma distinção que parece técnica, mas muda a forma de contar a história da computação: muitas máquinas célebres calculavam muito, mas ainda não eram computadores no sentido moderno.

O mecanismo aparece na abstração da máquina de Turing. Akita parte da máquina de escrever para chegar à fita infinita, à cabeça de leitura e escrita, aos estados finitos e às transições. O ponto importante é que a máquina não precisa conhecer letras, telas ou teclados; basta manipular sinais e ausências de sinal segundo regras. Com isso, Turing deu uma definição matemática para computação e para a ideia de máquina universal: uma máquina capaz de executar a descrição de outra máquina, com entradas arbitrárias.

Essa definição cria uma régua incômoda para a história. O engenho analítico de Babbage, o ENIAC e o Colossus aparecem na conversa como máquinas fundamentais, mas ainda presas a programas separados dos dados, cartões, cabos ou reconfigurações físicas. A virada de engenharia viria com von Neumann, ao especificar uma arquitetura com unidade de processamento, memória, controle, entrada e saída, e sobretudo com instruções e dados convivendo na mesma memória. É essa arquitetura que aproxima o modelo matemático de Turing do computador real.

A consequência prática é que discussões sobre uma linguagem ser ou não Turing-complete perdem força quando ignoram seus limites concretos. Akita ressalva que computadores reais não têm fita infinita; têm memória finita. Ainda assim, linguagens suficientemente expressivas podem simular umas às outras, desde que haja tempo e memória suficientes. O que importa para a engenharia deixa de ser a possibilidade abstrata e passa a ser eficiência, uso e custo: Brainfuck pode ser completa, enquanto HTML não é, mas isso não diz qual delas resolve melhor um problema real.

Assistir ao episódio original

Leia também: Prova matemática e a origem lógica da computação, NAT: o atalho que manteve o IPv4 vivo, Ruby on Rails e o desenvolvimento web entre 2004 e 2011.

Referências encontradas

Livros

Filmes

Séries

Este post contém links de afiliado. Se você comprar por eles, eu posso receber uma pequena comissão sem custo adicional para você.