Agora que vimos que vários modelos de computação são equivalentes uns com os outros e expressamos a Tese de Church-Turing, que juntamente representam aquilo que podemos razoavelmente chamar de computável. Voltemos para a questão de que coisas podem fazer isso. Então, quais são as etapas de uma computação que sistemas complexos variando entre sistemas dinâmicos caóticos e dispositivos mecânicos podem realmente realizar. Na verdade, muito antes de Church, Turing, Rosa Peter e outros teóricos da computação existirem, Charles Babbage, nos anos 1800, queria construir diferentes computadores mecânicos. Um destes foi chamado de Maquina Diferencial. Este só era capaz de fazer certos tipos de cálculos. A meta de Babbage era uma máquina que conseguiria imprimir tabelas de senos, cossenos, logaritmos, entre outras. Ele esperava que esta fosse movida à vapor, para que as pessoas não precisassem manualmente fazer isso. Mas Babbage também sonhava com uma máquina mais complicada chamada de Máquina Analítica, a qual, tivesse sido construída, em termos modernos seria um computador universal. E Ana Lovelace estudou sobre os projetos dele e fez algumas boas observações. Primeiramente, ela escreveu o primeiro programa complexo com 2 loops 'for' aninhados que computaria um tipo de número chamado de números de Bernoulli, mas ela também previu algo bem interessante. Ela notou que, se você podia representar os números nesta máquina, então você poderia também representar várias outras coisas. Por exemplo música, e ela imaginou máquinas que conseguiriam ajudar na composição de novas peças musicais. Então o mundo no qual vivemos hoje em dia, onde os bits e bytes e inteiros que são armazenados dentro dos computadores podem também representar áudio, vídeos, imagens, filmes, músicas, tudo aquilo que estamos acostumados, é realmente o mundo que Lovelace imaginou, onde representamos diferentes tipos de dados com números, dígitos ou bits dentro de um computador.