Ahora que hemos visto que un puñado de modelos de computación son equivalentes a cada uno y hemos expresado la tesis Church-Turing de que ellos representan de forma conjunta lo que queremos de forma razonable "computable". Vamos a volver a la pregunta de ¿Qué cosas se pueden hacer con esto? Entonces, ¿Qué sistemas complejos desde sistemas dinámicos caóticos hasta dispositivos mecánicos pueden realmente llevar a cabo los pasos de una computación? De hecho, antes de Church y Turing y Rosa Peter y que otros teóricos de la teoría de la computación llegaran, Charles Babbage, en los años 1800, quería construir varias computadoras mecánicas. Una de ellas era llamada la "Máquina Diferencial". Solo era capaz de llevar a cabo ciertos tipos de cálculo. El objetivo de Babbage era tener una máquina que podría mostrar buenas tablas naúticas de senos y cosenos y algoritmos y ese tipo de cosas. Con suerte, alimentada con vapor, y así las personas no tendrían que hacer esas cosas manualmente. Pero Babbage tambien soñaba en una máquina más complicada llamada la "Máquina Analítica" que es realmente en términos actuales, lo que habría sido, si se hubiera construido, una computadora universal. Y Ada Lovelace estudió sus diseños y llegó a una serie de observaciones interesantes sobre ello. Primeramente, escribió el primer programa complejo con dos bucles "for" anidados que habría computado un tipo de números llamado los números de Bernoulli pero tambien predijo algo bastante interesante. Ella notó que si podías representar números en una máquina, entonces también podías representar muchas otras cosas. Por ejemplo, música y ella imaginó máquinas que podrían ayudar en la composición de nuevas piezas musicales. Y que el mundo en el que vivimos actualmente donde los bits, bytes y enteros que son almacenados dentro de las computadoras tambien pueden representar audio, videos, imágenes, películas, músicas y todo tipo que usamos, ese era realmente el mundo que Lovelace imaginaba donde podíamos representar muchos tipos diferentes de datos con números, dígitos, o bits dentro de una computadora.