# Z3

La computadora Z3, creada por Konrad Zuse en 1941, fue la primera máquina programable y completamente automática, características usadas para un computador.
El Z3, de tecnología electromecánica, estaba construido con 2300 relés, tenía una frecuencia de reloj de ~5 Hz, y una longitud de palabra de 22 bits. Los cálculos eran realizados con aritmética en coma flotante puramente binaria. La máquina fue completada en 1941 (el 12 de mayo de ese mismo año fue presentada a una audiencia de científicos en Berlín). El Z3 original fue destruido en 1943 durante un bombardeo en Berlín. Una réplica completamente funcional fue construida durante los años 60 por la compañía del creador Zuse KG y está en exposición permanente en el Deutsches Museum. En 1998 Raúl Rojas demostró que el Z3 es Turing completo.
En 1967, Zuse KG había construido un total de 251 computadoras. Ese mismo año Zuse sugirió que el universo en sí mismo es una retícula de computadoras (Física computacional), publicando esta hipótesis en 1969 en su libro Rechnender Raum.

## Relaciones entre el Z3 y otras computadoras

La siguiente lista sitúa el Z3 en el contexto de la época:
* Al contrario que el primer ordenador no-programable creado por Wilhelm Schickard en 1623, el Z3 de 1941 era programable.
* El éxito de Zuse suele ser atribuido a su uso del sistema binario. Este sistema fue inventado unos 300 años antes por Gottfried Leibniz, y posteriormente usado por George Boole para desarrollar su álgebra booleana. En 1937, Claude Shannon introdujo la idea de implementar el álgebra booleana mediante relés electrónicos en un documento sobre diseño de circuitos digitales. Sin embargo, fue Zuse el que unió todo esto e hizo que funcionara.
* El primer diseño de un computador controlado por programa fue realizado por Charles Babbage a mediados del siglo XIX. Este diseño, sin embargo, no pudo llevarse a cabo en aquellos momentos, supuestamente porque era decimal y por lo tanto muy complicado, no binario y simple como el Z3. No obstante, en 1991, la máquina diferencial de Babbage fue construida según sus planes originales, y funcionó correctamente. Si la amiga de Babbage, Ada Lovelace, fue la primera programadora teórica, escribiendo programas para una máquina que no existía, entonces Zuse fue el primer programador práctico.
* El ENIAC fue completado 4 años después que el Z3. Mientras que el ENIAC usaba válvulas de vacío y el Z3 usaba relés, el ENIAC todavía era decimal y el Z3 era binario. Hasta 1948, programar el ENIAC significaba volver a soldar los cables; mientras, el Z3 leía los programas de tarjetas perforadas. Hoy en día los computadores están basados en transistores en vez de válvulas o relés, pero su arquitectura interna es más parecida al Z3 que al ENIAC.
* El Z3 necesitaba una cinta externa para almacenar los programas. El Manchester Baby de 1948 y el EDSAC de 1949 fueron los primeros computadores del mundo con programas almacenados internamente, implementando un concepto frecuentemente atribuido a un artículo presentado en 1945 por John von Neumann y sus compañeros. Sin embargo, una patente de Zuse de 1936 ya mencionaba la idea, pero fue rechazada.
* Relación entre el Z3 y el concepto teórico de la máquina universal de Turing: era posible construir bucles en el Z3, pero no había ninguna instrucción de salto condicional (aunque hubiera sido sencillo añadir una). No obstante, hay una manera de implementar una máquina de Turing en un Z3 (asumiendo una capacidad de almacenamiento infinita), como fue demostrado en 1998. Es una manera extraña, pero la propia máquina de Turing es extraña, estando diseñada para ser simple y universal, no eficiente.
Desde un punto de vista práctico, es mucho más importante el hecho de que el Z3 proporcionaba un conjunto de instrucciones bastante útil para las aplicaciones de los ingenieros de los años 40. De hecho, Zuse era un ingeniero que construyó sus computadores para que le facilitasen su trabajo.